Datumsformat im Datumsfeld

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

maiiiiik
Beiträge: 1
Registriert: Fr, 15.11.2013 12:17

Datumsformat im Datumsfeld

Beitrag von maiiiiik »

Hallo zusammen,

zuerst einmal vorweg: Ich bin sowohl Open Office Neuling (sonst immer nur MS Office) und auch weitestgehend Datenbank Einsteiger. Habe max. etwas SQL-Erfahrung aus der Berufsschule, das wars aber auch.
Erschlagt mich also bitte nicht gleich wenn meine Fragen etwas blöd sind ;-)

Mein Problem: Ich habe in einer Datenbank mehrere Tabellen. In einer dieser Tabellen habe ich eine Spalte, in der jeweils das Datum zum jeweiligen Datensatz stehen soll.
Das soll aber (weil ich es später teilweise aus Excel Files auch importieren muss) in einem bestimmten Format sein, welches so aussieht:

JJJJMMTThhmmss

Also ein Datum in eins durchgeschrieben mit Uhrzeit dahinter.
Wenn ich jetzt die Spalte so formatiere (Kategorie Datum und dann den Format-Code) und das Datum eintrage, ändert Base das Ganze immer auf ein Datum was beispielweise so aussieht: 10103000000
Eingegeben hatte ich aber als Datum folgendes: 20121231112233
Ich wollte also als Berispiel das Datum 31.12.2012 11:22:33 haben.

Wenn ich das Ganze nun anders angehe und die Spalte erst so formatiere, dass ich das Datum im normalen Format eingebe (31.12.2012 11:22:33) und die Formatierung nach Eingabe für den Datensatz wieder änder, dann wird es so angezeigt wie ich es mir gewünscht hätte (20121231112233). Wenn ich dann jedoch den Datensatz einfach editiere und es manuell auch nochmal eintrage, wird das Feld wieder mit dem oben angegebenen Format (10103000000) überschrieben.

Wie kommt das und wie kann ich das ändern?

Vielen Dank bereits im Voraus.

Maik
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datumsformat im Datumsfeld

Beitrag von RobertG »

Hallo Maik,

die Formatierung eines Datums hat nichts damit zu tun, wie das Datum letztlich in der Datenbank gespeichert wird. Außerdem willst Du nicht ein Datum, sondern einen kompletten Zeitstempel speichern. Und dieser Zeitstempel wird grundsätzlich als Text mit lauter Ziffern gespeichert. Mit so einem Zeitstempel werden die Sekunden ab einer bestimmten Startzeit ausgedrückt - beim häufig üblichen Unix-Stempel die Sekunden ab dem 1.1.1970.
Für den Import oder Export in die Datenbank ist also völlig egal, wie denn die Werte nun auf der Benutzeroberfläche dargestellt werden. Vielmehr musst Du sehen, ob Du so eine Schreibweise, wie Du sie gerade bevorzugst, denn wirklich über die normalen Importfunktionen eingelesen bekommst. Das Normalformat in Datenbanken ist nämlich z.B. '2013-11-15 16:26:43'. Teste also zuerst einmal mit einer geöffneten Calc-Tabelle und der entsprechenden Eingabe, ob denn Base überhaupt einen Zeitstempel daraus lesen kann - die Darstellung in den Tabellen und Formularen ist dabei völlig egal.

Da es sich bei dem Format, das Dir aus Excel angeboten wird, nicht um einen üblichen Zeitstempel handelt, wirst Du Dir eine Importfunktion über ein Makro erstellen müssen oder die entsprechenden Felder vor dem Import nach Base in Calc über Textfunktionen umwandeln müssen, so dass daraus ein gültiges Format zum Import entsteht.

Gruß

Robert
Antworten