Nach Excel-Import in Access Uhrzeit-Format falsch

Hallo,
um im Anschluss die Access-DB nach SQL zu bekommen habe ich eine adp-Datei angelegt. Beim Importieren einer xlsx-Datei enthält die Uhrzeit nach erfolgreichem Import die Uhrzeit mit falschem Datum:
„30.12.1899 01:00:00“ bis „30.12.1899 23:00:00“ Jene Felder in denen als Uhrzeit „00:00:00“ steht enthalten nur den „30.12.1899“.

In Excel hat das Zeit-Feld die Eigenschaft „Benutzerdefiniert hh:mm:ss“
Habe ich in Access die Möglichkeit die Felder ins ursprüngliche Format zu formatieren oder wie kann ich das falschen Zeiteinträge verhindern?

Ich arbeite mit Office 2007 Prof.

Gruß
Ingo

Grüezi Ingo

Beim Importieren einer xlsx-Datei
enthält die Uhrzeit nach erfolgreichem Import die Uhrzeit mit
falschem Datum:
„30.12.1899 01:00:00“ bis „30.12.1899 23:00:00“ Jene Felder in
denen als Uhrzeit „00:00:00“ steht enthalten nur den
„30.12.1899“.

Hmmm, Excel kann/kennt nur Datumsagaben >=01.01.1900 - alles vorher kann über die Oberflächen nicht berechnet werden und wird als Text behandelt.

In Excel hat das Zeit-Feld die Eigenschaft „Benutzerdefiniert
hh:mm:ss“

Da ändert dann auch ein Zellenformat nichts - leider.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Ingo,

um im Anschluss die Access-DB nach SQL zu bekommen habe ich
eine adp-Datei angelegt. Beim Importieren einer xlsx-Datei
enthält die Uhrzeit nach erfolgreichem Import die Uhrzeit mit
falschem Datum:
„30.12.1899 01:00:00“ bis „30.12.1899 23:00:00“ Jene Felder in
denen als Uhrzeit „00:00:00“ steht enthalten nur den
„30.12.1899“.

In Excel hat das Zeit-Feld die Eigenschaft „Benutzerdefiniert
hh:mm:ss“
Habe ich in Access die Möglichkeit die Felder ins
ursprüngliche Format zu formatieren oder wie kann ich das
falschen Zeiteinträge verhindern?

Ich arbeite mit Office 2007 Prof.

interessant wäre, wie du den Import durchführst. Probier es einfach noch mal mit Hilfe des Assistenten. Dazu im Datenbankfenster zunächst unter Objekte „Tabelle“ wählen, dann klicke den Button „Neu“ (im Menü des Datenbankfensters) und wähle „Tabelle importieren“, OK klicken, im Explorerfenster die Datei auswählen, „Importieren“ wählen, „Tabellenblätter anzeigen“, die betreffende Tabelle (Tabelleblatt) wählen
in dem angegebenen Beispielfenster siehst du nun in Zeile 1 die Excel-Spaltenüberschriften (die Feldnamen) und ab Spalte 2 die Daten
! wenn allerdings Spaltenüberschriften fehlen, funktioniert das nicht, da Access dann die Spaltenüberschriften für die Feldnamen benutzt !

klicke „Weiter“ - in diesem Dialogfeld wird die Bestätigung abgefordert, dass die erste Zeile die Spaltenüberschriften enthält. Die betreffende Spalte mit den Zeiten sollte jetzt Werte zwischen 0 und 1 enthalten, z. B.: 0,55905092593. Wenn das so aussieht, ist alles richtig gelaufen. Jetzt nur noch „Weiter“ klicken, Tabelle auswählen oder neue erstellen lassen und „Fertig stellen“. Wenn du jetzt die Tabelle öffnest, haben deine Zeiten das gleiche Format wie in Excel.
Wenn doch nicht wechsle in die Entwurfansicht. Der Felddatentyp für die Spalte mit den Zeiten sollte Datum/Uhrzeut sein (wenn nicht ändern - in das Feld klicken und wählen). Darunter (immer noch in der Entwurfsansicht) bei den Feldeigenschaften evtl. vorhandene Einträge bei „Format“ und „Eingabeformat“ rauslöschen.

Sollte es nicht möglich sein, entsprechende Resultate in Access zu bekommen, prüfe bitte deine Quelldaten in Excel. Am besten von einer „sauber“ formatierten Zelle mit dem Pinsel das Format auf die betreffende Spalte übertragen. Dann alles von vorn.

PS. Du kannst das ganze Prozedere auch mal mit einer Testtabelle durchspielen, dazu genügt ein Eintrag mit Überschrift, um zu sehen, dass es funktioniert.

Gruß
Marion

Hallo Marion,

Ich arbeite mit Office 2007 Prof.

interessant wäre, wie du den Import durchführst. Probier es
einfach noch mal mit Hilfe des Assistenten. Dazu im
Datenbankfenster zunächst unter Objekte „Tabelle“ wählen, dann
klicke den Button „Neu“ (im Menü des Datenbankfensters) und
wähle „Tabelle importieren“, OK klicken, im Explorerfenster
die Datei auswählen, „Importieren“ wählen, „Tabellenblätter
anzeigen“, die betreffende Tabelle (Tabelleblatt) wählen
in dem angegebenen Beispielfenster siehst du nun in Zeile 1
die Excel-Spaltenüberschriften (die Feldnamen) und ab Spalte 2
die Daten
! wenn allerdings Spaltenüberschriften fehlen, funktioniert
das nicht, da Access dann die Spaltenüberschriften für die
Feldnamen benutzt !

klicke „Weiter“ - in diesem Dialogfeld wird die Bestätigung
abgefordert, dass die erste Zeile die Spaltenüberschriften
enthält. Die betreffende Spalte mit den Zeiten sollte jetzt
Werte zwischen 0 und 1 enthalten, z. B.: 0,55905092593. Wenn
das so aussieht, ist alles richtig gelaufen. Jetzt nur noch
„Weiter“ klicken, Tabelle auswählen oder neue erstellen lassen
und „Fertig stellen“. Wenn du jetzt die Tabelle öffnest, haben
deine Zeiten das gleiche Format wie in Excel.
Wenn doch nicht wechsle in die Entwurfansicht. Der
Felddatentyp für die Spalte mit den Zeiten sollte
Datum/Uhrzeut sein (wenn nicht ändern - in das Feld klicken
und wählen). Darunter (immer noch in der Entwurfsansicht) bei
den Feldeigenschaften evtl. vorhandene Einträge bei „Format“
und „Eingabeformat“ rauslöschen.

Sollte es nicht möglich sein, entsprechende Resultate in
Access zu bekommen, prüfe bitte deine Quelldaten in Excel. Am
besten von einer „sauber“ formatierten Zelle mit dem Pinsel
das Format auf die betreffende Spalte übertragen. Dann alles
von vorn.

PS. Du kannst das ganze Prozedere auch mal mit einer
Testtabelle durchspielen, dazu genügt ein Eintrag mit
Überschrift, um zu sehen, dass es funktioniert.

Gruß
Marion

dein Tipp hat mir echt geholfen. Ich hatte vom zusammenführen verschiedener Excel-Dateien zwischen den Werten noch Überschriften. Ferner musste ich in Access in die Entwurfsansicht, um den Feldern die richtigen Formate zuzuweisen. Habe eben den ersten Import erfolgreich absolviert :smile:

Gruß und Dank aus der Hauptstadt
Ingo

Hmmm, Excel kann/kennt nur Datumsagaben >=01.01.1900 -
alles vorher kann über die Oberflächen nicht berechnet werden
und wird als Text behandelt.

Grüezi Thomas,

Excel kennt auch den 0ten Januar 1900:
=heute()-heute()

-)

Gruß
Reinhard

Grüezi Reinhard

Hmmm, Excel kann/kennt nur Datumsagaben >=01.01.1900 -
alles vorher kann über die Oberflächen nicht berechnet werden
und wird als Text behandelt.

Excel kennt auch den 0ten Januar 1900:

…ja, ich weiss, doch ich wollte nicht noch mehr Verwirrung in den Beitrag bringen… :wink:


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Marion,

Sollte es nicht möglich sein, entsprechende Resultate in
Access zu bekommen, prüfe bitte deine Quelldaten in Excel. Am
besten von einer „sauber“ formatierten Zelle mit dem Pinsel
das Format auf die betreffende Spalte übertragen. Dann alles
von vorn.

PS. Du kannst das ganze Prozedere auch mal mit einer
Testtabelle durchspielen, dazu genügt ein Eintrag mit
Überschrift, um zu sehen, dass es funktioniert.

Gruß
Marion

du hattest Recht. Irgendwas mit den Formaten stimmte nicht. Ich habe die Excel-Datei neu erstellt und … Voila. Fehlerfrei.

Dafür spinnt jetzt der Import der Access-DB im SQL Server 2005. Ich mach einen neuen thread auf.

Gruß und Dank
Ingo