Datum und Zeit mit Access

Das Speichern von Datum- und Zeitwerten mit Access birgt wenige Geheimnisse. Sie fügen einer Ta-belle ein Feld vom Datentyp “Datum/Zeit” hinzu und schon können Sie Werte in dieses Feld eingeben. Die tägliche Praxis im Umgang mit Datums- und Zeitwerten stellt jedoch höhere Anforderungen. Mit den Tipps aus dem folgenden Beitrag können Sie die meisten der sich stellenden Fragen beantworten.

Ein Wert mit vielen Gesichtern

Innerhalb Deutschlands geben die meisten Menschen einen Datumswert intuitiv als 5.3.2023, als 05.03.2023 oder schreibfaul als 5.3.23 oder mit Mischformen ein. Access versteht all diese Schreibweisen und interpretiert sie als den gleichen Tag, den 5.3.2023.

Selbst Angaben im Klartext wie beispielsweise 5. März 2023 sind bei der Dateneingabe erlaubt. Sie müssen lediglich darauf achten, dass Ihre Eingabe den in der Systemsteuerung von Windows getätigten Ländereinstellungen entspricht.

Wie speichert Access Datum- und Zeitwerte?

Dass Access Ihre Eingabe richtig versteht, können Sie leicht feststellen, indem Sie ein Formular mit einem Textfeld namens txtDatumZeit anlegen.

Fügen Sie dem Formular ein weiteres Textfeld namens txtDatum mit dem folgenden Steuerelementinhalt hinzu:

=Format([txtDatumZeit];"tt.mm.jjjj")

Mit einem weiteren Textfeld namens txtZeit können Sie die Zeitangabe aus dem Eingabewert ermitteln. Geben Sie für dieses den folgenden Steuerelementinhalt ein:

=Format([txtDatumZeit];"hh:nn:ss")

Access erkennt selbständig, dass es sich bei dem eingegebenen Text um einen Datum- und Zeitwert handelt und wandelt ihn in automatisch in diesen Datentyp um. Die Format-Funktion formatiert den Wert aus dem Steuerelement txtDatumZeit im ersten Fall als Datums- und im zweiten Fall als Zeitwert. Mit tt.mm.jjjj erhalten Sie die Anzeige mit zweistelligem Tages-, zweistelligem Monats- und vierstelligem Jahreswert. Das Zeitformat zeigt Stunden, Minuten und Sekunden ebenfalls zweistellig an.

Nun können Sie nacheinander verschiedene Datumswerte in das Textfeld eingeben und beobachten, welchen Datumswert und welchen Zeitwert Access ermittelt.

Ein Beispiel hierfür sehen Sie in Bild 1.

Mit diesem Formular können Sie prüfen, ob Access Ihre Datums- und Zeiteingabe versteht.

Bild 1: Mit diesem Formular können Sie prüfen, ob Access Ihre Datums- und Zeiteingabe versteht.

Sie können allerlei verschiedene Eingaben für den gleichen Tag tätigen. Wenn Sie wissen wollen, wie Access die Werte intern speichert, dann fügen Sie dem Formular drei weitere Steuerelemente mit folgenden Formeln als Steuerelementinhalt hinzu:

=ZDouble(ZDate([txtDatumZeit]))
=DatWert([txtDatumZeit])
=ZeitSeriellStr([txtDatumZeit])

Besonders interessant ist die ZDate-Funktion (englisch: CDate). Diese Funktion wandelt irgendeinen Wert, in diesem Fall die eingegebene Zeichenkette, in den Datentyp DatumZeit um. Der anschließende Aufruf von ZDouble (englisch: CDbl) führt dazu, dass Access den berechneten Wert als Zahl mit Nachkommastellen anzeigt. Ein Beispiel hierfür sehen Sie in Bild 2.

Beispiel für die Umrechnung eines Datums- und Zeitwertes in einen Double-Wert.

Bild 2: Beispiel für die Umrechnung eines Datums- und Zeitwertes in einen Double-Wert.

Access wandelt beispielsweise 14.03.2023 10:35:32 in den Double-Wert 499,4413425926 um. Der Grund hierfür besteht darin, dass Access Datums- und Zeitwerte als Double-Werte kodiert.

Der ganzzahlige Anteil speichert die Anzahl der Tage in Bezug auf den 30.12.1899. Negative Werte geben die Anzahl der Tage vor diesem Datum an und positive Werte die Anzahl der Tage nach diesem Datum.

Der Nachkommanteil entspricht jeweils der seit 0 Uhr vergangen Zeit. Der Zeitpunkt 30.12.1899 0:00:00 entspricht dem Double-Wert 0,0.

Rechnen mit Datum und Zeit

Aufgrund der internen Umrechnung in Double-Werte können Sie mit Datums- und Zeitwerten rechnen. Bei der Addition von zwei Werten erhalten Sie absolut sinnvolle Ergebnisse. Das in Bild 3 gezeigte Beispielformular enthält zwei Textfelder zur Dateneingabe.

Beispiel für die Addition von zwei Datum-/Zeit-Werten

Bild 3: Beispiel für die Addition von zwei Datum-/Zeit-Werten

Der eingegebene Text wird jeweils wie oben beschrieben mit ZDate() und ZDouble() in einen Double-Wert umgerechnet. Das Textfeld txtSumme berechnet dann die Summe aus den beiden Werten. Das unterste Textfeld zeigt den berechneten Wert als Standarddatum formatiert an.

Im Beispiel wurden zu dem Datum/Zeit-Wert 14.03.2023 23:00:00 zwei Stunden hinzuaddiert. Als Ergebnis erhalten Sie den Datum/Zeit-Wert 15.03.2023 01:00:00.

Hinweis: Beim Rechnen mit Datum/Zeit-Werten dürfen Sie nur positive Zahlen oder nur ganze Zahlen verwenden. Bei Datumswerten vor dem 30.12.1899 wird dem negativen ganzzahligen Anteil der positive Nachkommaanteil hinzugerechnet.

Wenn Sie beispielsweise dem Datum/Zeit-Wert 15.12.1899 23:00:00 (entspricht -15,9583333333333) zwei Stunden (entspricht 0,0833333333333333) hinzuaddieren, dann erhalten Sie das fehlerhafte Ergebnis 15.12.1899 21:00:00.

Funktionen für Datum und Zeit

Access verfügt über eine ganze Reihe eingebauter Funktionen für die Berechnung von Datum- und Zeit-Werten. Mit der Jetzt-Funktion erhalten Sie die aktuelle Systemzeit inklusive Datum. Die Datum-Funktion liefert nur das Datum, die Jetzt-Funktion nur die Zeit.

Addieren von Zeitintervallen

Mit der DatAdd-Funktion (englisch: DateAdd) können Sie eine Sekunde (s), eine Minute (n), eine Stunde (h), einen Tag (d), einen Wochentag (w), einen Tag des Jahres (y), eine Woche (ww), einen Monat (m), ein Quartal (q) oder ein Jahr (yyyy) zu einem Datumswert hinzuaddieren. Die in Klammern angegebenen Werte können Sie als Parameter für die DatAdd-Funktion verwenden. Bild 4 zeigt exemplarisch das Addieren einer Woche und eines Monats zu einem Datumswert.

Addition einer Woche und eines Monats zu einem Datumswert

Bild 4: Addition einer Woche und eines Monats zu einem Datumswert

Die in der Abbildung gezeigten Werte können Sie mit den folgenden beiden Ausdrücken berechnen:

=DatAdd("ww";1;[txtDouble1])
=DatAdd("m";1;[txtDouble1])

Differenz in Tagen, Wochen und Monaten

Für viele Berechnungen benötigen Sie die Differenz zwischen zwei Datumswerten nicht einfach nur als Double-Zahl, sondern als konkret benanntes Intervall.

Mit der DateDiff-Funktion ermitteln Sie die Differenz zwischen zwei Zeitpunkten in Sekunden (s), Minuten (n), Stunden (h), Wochen (ww), Wochentagen (w), Tagen (d), Tagen des Jahres (y), Monaten (m), Quartalen (q) und Jahren (y) . So berechnet beispielsweise der Ausdruck

=DatDiff("d";[txtDouble1];[txtDouble2];2;2)

die Differenz zwischen zwei Datumswerten in Tagen. Der erste Parameter bezeichnet das Intervall. Das d für englisch Day veranlasst Access, die Differenz in Tagen zu berechnen. Der zweite und dritte Parameter bezeichnen zwei Steuerelemente mit Datumswerten.

Parameter Nummer vier und fünf sind optional, sollten aber im deutschsprachigen Raum angegeben werden.

Diese beiden Parameter bestimmen, wie Access die Kalenderwochen zählt. Mit der ersten 2 legen Sie fest, dass der erste Tag einer Woche der Montag (2 = vbMonday) ist. Mit der zweiten 2 legen Sie fest, dass die erste Kalenderwoche eines Jahres die erste Woche im neuen Jahr mit mindestens 4 Tagen ist.

Etwas seltsam ist die Unterscheidung zwischen der Differenz in Wochentagen (w) und Wochen (ww). Falls Sie dieses Thema interessiert, sollten Sie sich den genauen Text in der Hilfe durchlesen.

Eine verständliche Interpretation des Hilfetextes könnte wie folgt lauten: Bei Verwendung des Parameters w berechnet Access die Anzahl voller Kalenderwochen mit 7 Tagen, die zwischen den beiden Datumswerten liegen.

Bei Verwendung des Parameters ww zählt Access die Anzahl der Sonntage zwischen den beiden Datumswerten. Dabei wird das zweite Datum nicht mitgezählt, sofern es auf einen Sonntag fällt. Dieser Wert ist entweder gleich oder größer als der mit w ermittelte.

Wenn Sie wie in Bild 5 beispielsweise die Wochen von Sonntag, den 5.3.2023 bis Montag, den 13.3.2023 mit DateDiff berechnen, dann erhalten Sie bei Verwendung des Parameters w ein Ergebnis von einer Woche und bei Verwendung des Parameters ww ein Ergebnis von zwei Wochen. Tatsächlich liegen zwischen den beiden Zeitpunkten acht Tage.

Berechnungen mit DateDiff

Bild 5: Berechnungen mit DateDiff

Wenn Sie hingegen die Differenz von Sonntag, den 5.3.2023 und Sonntag, den 12.3.2023 berechnen, dann ermitteln beide Parameter den gleichen Wert 1 als Ergebnis. Der Grund besteht darin, dass auch bei Verwendung von ww der zweite Sonntag nicht mitgezählt wird.

Datumsteile ermitteln

Mit der DatTeil-Funktion (englisch: DatePart) können Sie die Jahreszahl (yyyy), das Quartal (q), den Monat (m), den Tag des Jahres (y), den Tag (d), den Wochentag (w), die Woche (ww), die Stunde (h), die Minute (n) oder die Sekunde (s) aus einem Zeitpunkt berechnen. Mit dem fol-genden Ausdruck berechnen Sie beispielsweise den Tag des Jahres des im Steuerelement txtZeitpunkt gespeicherten Zeitpunkts:

=DatTeil("y";[txtZeitpunkt];2;2)

Am 8.3.2023 ist dies der Wert 73, am 31.12 des Schaltjahres 2024 ist es der Wert 366. Bild 6 enthält eine Übersicht der verschiedenen Datumsteile.

Ergebnisse der DatTeil-Funktion

Bild 6: Ergebnisse der DatTeil-Funktion

Typen umwandeln

Die DatSeriell-Funktion (englisch: DateSerial) ermittelt einen Datumswert aus den in dieser Reihenfolge angegebenen Werten Jahr, Monat und Tag.

Ein Beispiel lautet:

=DatSeriell(2023;3;14)

Die korrespondierende Funktion ZeitSeriell (englisch: TimeSerial) berechnet einen Zeitwert aus Stunde, Minute und Sekunde:

=ZeitSeriell(14;39;15)

Mit der ZDate-Funktion (englisch: CDate) wandeln Sie einen Ausdruck in einen Datumswert um. Ein Beispiel für die Umwandlung einer Zeichenkette lautet wie folgt:

=ZDate("13 März 2023")

Dazu korrespondierend wandelt die ZeitSeriellStr-Funktion (englisch: TimeValue) einen Ausdruck in einen Zeitwert um:

=ZeitSeriellStr("14:43:20")

Mit der IstDatum-Funktion (englisch: IsDate) können Sie feststellen, ob sich ein Ausdruck in einen Datumswert umwandeln lässt.

Praxis mit Datum und Zeit

Mit den bisher beschriebenen Funktionen können Sie die meisten Aufgabenstellungen im Zusammenhang mit Datum- und Zeitwerten lösen. Die folgenden Abschnitte beschreiben die Berechnung einiger häufig benötigter Kennziffern. Sie finden alle Beispiele im Formular frmFunktionen in der Beispieldatenbank zu diesem Beitrag (siehe Bild 7).

Diese Abbildung enthält eine Übersicht der häufig verwendeten Datums- und Zeitfunktionen.

Bild 7: Diese Abbildung enthält eine Übersicht der häufig verwendeten Datums- und Zeitfunktionen.

Erster des Monats

Bei der Berechnung des ersten Tages eines Monats können Sie sich zu Nutze machen, dass Access den Tag eines Datums als ganze Zahl speichert.

Von dieser Zahl brauchen Sie nur die Anzahl der in diesem Monat vergangenen Tage abzuziehen und das Ergebnis wieder in einen Datumswert umzurechnen. Mit der folgenden Formel berechnen Sie den ersten Tag des Monats auf der Basis des Datumswertes, der in dem Steuerelement txtZeitpunkt gespeichert ist:

=[txtZeitpunkt]-Tag([txtZeitpunkt])+1

Falls in txtZeitpunkt auch eine Uhrzeit angegeben ist, wird diese übernommen. Um die Uhrzeit abzuschneiden, können Sie folgenden Ausdruck verwenden:

=Fix([txtZeitpunkt])-Tag([txtZeitpunkt])+1

Erster Tag des Folgemonats

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar

Datum und Zeit mit Access

Manfred Hoffbauer, Düsseldorf

Das Speichern von Datums- und Zeitwerten mit Access birgt wenig Geheimnisse. Sie fügen einer Tabelle ein Feld vom Datentyp “Datum/Zeit” hinzu und schon können Sie Werte in dieses Feld eingeben. Die tägliche Praxis im Umgang mit Datums- und Zeitwerten stellt aber höhere Anforderungen. Mit den Tipps aus dem folgenden Beitrag können Sie die meisten der auftretenden Fragen beantworten.

Innerhalb Deutschlands geben die meisten Menschen einen Datumswert intuitiv als 5.3.2004, als 05.03.2004 oder schreibfaul als 5.3.04 oder in Mischformen ein. Access kann all diese Schreibweisen verstehen und interpretiert sie als den gleichen Tag, also den 5.3.2004.

Selbst Angaben im Klartext wie beispielsweise 5. März 2004 sind bei der Datumseingabe erlaubt. Sie müssen lediglich darauf achten, dass Ihre Eingabe den in der Systemsteuerung von Windows getätigten Ländereinstellungen entspricht.

Wie speichert Access Datums- und Zeitwerte

Dass Access Ihre Eingabe richtig versteht, können Sie leicht feststellen, indem Sie ein Formular mit einem Textfeld namens txtDatumZeit anlegen. Fügen Sie dem Formular ein weiteres Textfeld mit dem folgenden Steuerelementinhalt hinzu:

=Format([txtDatumZeit];"tt.mm.jjjj")

Mit einem weiteren Textfeld können Sie die Zeitangabe aus dem Eingabewert ermitteln. Geben Sie folgenden Steuerelementinhalt ein:

=Format([txtDatumZeit];"hh:nn:ss")

Access erkennt selbstständig, dass der eingegebene Text ein Datum- und Zeitwert ist, und wandelt ihn automatisch in diesen Datentyp um. Die Format-Funktion formatiert den Wert aus dem Steuerelement txtDatumZeit im ersten Fall als Datums- und im zweiten Fall als Zeitwert.

Mit tt.mm.jjjj erhalten Sie die Anzeige mit zweistelligem Tages-, zweistelligem Monats- und vierstelligem Jahreswert. Das Zeitformat zeigt Stunden, Minuten und Sekunden ebenfalls zweistellig an.

Nun können Sie nacheinander verschiedene Datumswerte in das Textfeld eingeben und beobachten, welchen Datumswert Access ermittelt. Ein Beispiel hierfür sehen Sie in Bild 1.

Bild 1: Mit diesem Formular können Sie prüfen, ob Access Ihre Datums- und Zeiteingabe versteht.

Sie können allerlei verschiedene Eingaben für den gleichen Tag tätigen. Wenn Sie wissen wollen, wie Access die Werte intern speichert, dann fügen Sie drei weitere Steuerelemente mit folgenden Formeln als Steuerelementinhalt hinzu:

=ZDouble(ZDate([txtDatumZeit]))
=DatWert([txtDatumZeit])
=ZeitSeriellStr([txtDatumZeit])

Besonders interessant ist die ZDate-Funktion (englisch: CDate). Diese Funktion wandelt irgendeinen Wert, in diesem Fall die eingegebene Zeichenkette, in den Datentyp Datum/Zeit um. Der anschließende Aufruf von ZDouble (englisch: CDbl) führt dazu, dass Access den berechneten Wert als Zahl mit Nachkommastellen anzeigt. Ein Beispiel hierfür sehen Sie in Bild 2.

Bild 2: Diese Abbildung enthält ein Beispiel für die Umrechnung eines Datums- und Zeitwertes in einen Double-Wert.

Access wandelt beispielsweise 4.03.04 10:04:05 in den Double-Wert 38050,4195023148 um. Der Grund hierfür besteht darin, dass Access Datums- und Zeitwerte als Double-Werte kodiert.

Der ganzzahlige Anteil speichert die Anzahl der Tage in Bezug auf den 30.12.1899. Negative Werte geben die Anzahl der Tage vor diesem Datum an und positive Werte die Anzahl der Tage nach diesem Datum. Der Nachkommateil entspricht jeweils der seit 0 Uhr vergangenen Zeit. Der Zeitpunkt 30.12.1899 0:00:00 entspricht dem Double-Wert 0,0.

Bild 3: Die Abbildung zeigt ein Beispiel für die Addition von zwei Datums-/Zeit-Werten.

Rechnen mit Datum und Zeit

Auf Grund der internen Umrechnung in Double-Werte können Sie mit Datums- und Zeitwerten rechnen. Bei der Addition von zwei Werten erhalten Sie absolut sinnvolle Ergebnisse. Das in Bild 3 gezeigte Beispielformular enthält zwei Textfelder zur Dateneingabe. Der eingegebene Text wird jeweils wie oben beschrieben mit ZDate() und ZDouble() in einen Double-Wert umgerechnet. Das Textfeld txtSumme berechnet dann die Summe aus den beiden Werten. Das unterste Textfeld zeigt den berechneten Wert als Standarddatum formatiert an.

Im Beispiel wurden zu dem Datums-/Zeit-Wert 05.03.2004 23:00:00 zwei Stunden hinzuaddiert. Als Ergebnis erhalten Sie den Datums-/Zeit-Wert 06.03.2004 01:00:00.

Hinweis

Beim Rechnen mit Datums-/Zeit-Werten dürfen Sie nur positive Zahlen oder nur ganze Zahlen verwenden. Bei Datumswerten vor dem 30.12.1899 wird dem negativen ganzzahligen Anteil der positive Nachkommaanteil hinzugerechnet. Wenn Sie beispielsweise dem Datums-/Zeit-Wert 15.12.1899 23:00:00 (entspricht -15,9583333333333) zwei Stunden (entspricht 0,0833333333333333) hinzuaddieren, dann erhalten Sie das fehlerhafte Ergebnis 15.12.1899 21:00:00.

Access verfügt über eine ganze Reihe eingebauter Funktionen für die Berechnung von Datums- und Zeit-Werten. Mit der Jetzt-Funktion erhalten Sie die aktuelle Systemzeit inklusive Datum. Die Datum-Funktion liefert nur das Datum, die Jetzt-Funktion nur die Zeit.

Addieren vonZeitintervallen

Mit der DatAdd-Funktion (englisch: DateAdd) können Sie eine Sekunde (s), eine Minute (n), eine Stunde (h), einen Tag (d), einen Wochentag (w), einen Tag des Jahres (y), eine Woche (ww), einen Monat (m), ein Quartal (q) oder ein Jahr (yyyy) zu einem Datumswert hinzuaddieren. Die in Klammern angegebenen Werte können Sie als Parameter für die DateAdd-Funktion verwenden. Abbildung 4 zeigt exemplarisch das Addieren einer Woche und eines Monats zu einem Datumswert.

Bild 4: Addition einer Woche und eines Monats zu einem Datumswert

Die in Bild 4 gezeigten Werte können Sie mit den folgenden beiden Ausdrücken berechnen:

=DatAdd("ww";1;[txtDouble1])
=DatAdd("m";1;[txtDouble1])

Differenz in Tagen, Wochen und Monaten

Für viele Berechnungen benötigen Sie die Differenz zwischen zwei Datumswerten nicht einfach nur als Double-Zahl, sondern als konkret benanntes Intervall.

Mit der DateDiff-Funktion können Sie die Differenz zwischen zwei Zeitpunkten in Sekunden (s), Minuten (n), Stunden (h), Wochen (ww), Wochentagen (w), Tagen (d), Tagen des Jahres (y), Monaten (m), Quartalen (q) und Jahren (y) berechnen. So berechnet beispielsweise der Ausdruck

=DatDiff("d";[txtDbl1];[txtDbl2];2;2)

die Differenz zwischen zwei Datumswerten in Tagen. Der erste Parameter bezeichnet das Intervall. Das d für englisch Day veranlasst Access, die Differenz in Tagen zu berechnen. Der zweite und dritte Parameter bezeichnen zwei Steuerelemente mit Datumswerten.

Parameter Nummer vier und fünf sind optional, sollten aber im deutschsprachigen Raum angegeben werden. Diese beiden Parameter bestimmen, wie Access die Kalenderwochen zählt. Mit der ersten 2 legen Sie fest, dass der erste Tag einer Woche der Montag (2 = vbMonday) ist. Mit der zweiten 2 legen Sie fest, dass die erste Kalenderwoche eines Jahres die erste Woche mit mindestens 4 Tagen im neuen Jahr ist.

Etwas seltsam ist die Unterscheidung zwischen der Differenz in Wochentagen (w) und Wochen (ww). Falls Sie dieses Thema interessiert, sollten Sie sich den entsprechenden Text in der Hilfe genau durchlesen. Eine verständliche Interpretation des Hilfetextes könnte wie folgt lauten: Bei Verwendung des Parameters w berechnet Access die Anzahl voller Kalenderwochen mit 7 Tagen, die zwischen den beiden Datumswerten liegen.

Bei Verwendung des Parameters ww zählt Access die Anzahl der Sonntage zwischen den beiden Datumswerten. Dabei wird das zweite Datum nicht mitgezählt, sofern es auf einen Sonntag fällt. Dieser Wert ist entweder gleich oder größer als der mit w ermittelte. Wenn Sie wie in Bild 5 beispielsweise die Wochen von Sonntag, dem 7.3.2004, bis Montag, dem 15.3.2004 mit DateDiff berechnen, dann erhalten Sie bei Verwendung des Parameters w ein Ergebnis von einer Woche und bei Verwendung des Parameters ww ein Ergebnis von zwei Wochen. Tatsächlich liegen zwischen den beiden Zeitpunkten acht Tage.

Wenn Sie hingegen die Differenz von Sonntag, dem 7.3.2004, und Sonntag, dem 14.3.2004, berechnen, dann ermitteln beide Parameter den gleichen Wert 1 als Ergebnis. Der Grund besteht darin, dass auch bei Verwendung von ww der zweite Sonntag nicht mitgezählt wird.

Teile ermitteln

Mit der DatTeil-Funktion (englisch: DatePart) können Sie die Jahreszahl (yyyy), das Quartal (q), den Monat (m), den Tag des Jahres (y), den Tag (d), den Wochentag (w), die Woche (ww), die Stunde (h), die Minute (n) oder die Sekunde (s) aus einem Zeitpunkt berechnen. Mit dem folgenden Ausdruck berechnen Sie beispielsweise den Tag des Jahres des im Steuerelement txtZeitpunkt gespeicherten Zeitpunkts:

Bild 5: Berechnung mit DateDiff

=DatTeil("y";[txtZeitpunkt];2;2)

Am 8.3.2004 ist dies der Wert 68, am 31.12. des Schaltjahres 2004 ist es der Wert 366. Abb. 6 enthält eine übersicht der verschiedenen Datumsteile.

Bild 6: Ergebnisse der DatTeil-Funktion

Typen umwandeln

Die DatSeriell-Funktion (englisch: DateSerial) ermittelt einen Datumswert aus den in dieser Reihenfolge angegebenen Werten Jahr, Monat und Tag.

Ein Beispiel lautet:

=DatSeriell(2004;3;21)

Die korrespondierende Funktion ZeitSeriell (englisch: TimeSerial) berechnet einen Zeitwert aus Stunde, Minute und Sekunde:

=ZeitSeriell(14;39;15)

Mit der ZDate-Funktion (englisch: cdate) wandeln Sie einen Ausdruck in einen Datumswert um. Ein Beispiel für die Umwandlung einer Zeichenkette lautet wie folgt:

=ZDate("13 Juli 2003")

Dazu korrespondierend wandelt die ZeitSeriellStr-Funktion (englisch: TimeValue) einen Ausdruck in einen Zeitwert um:

=ZeitSeriellStr("14:43:20")

Mit der IstDatum-Funktion (englisch: IsDate) können Sie feststellen, ob sich ein Ausdruck in einen Datumswert umwandeln lässt.

Mit den bisher beschriebenen Funktionen können Sie die meisten Aufgabenstellungen im Zusammenhang mit Datums- und Zeitwerten lösen. Die folgenden Abschnitte beschreiben die Berechnung einiger häufig benötigter Kennziffern. Sie finden alle Beispiele im Formular frmFunktionen in der Beispieldatenbank zu diesem Beitrag (siehe Bild 7).

Erster des Monats

Bei der Berechnung des ersten Tags eines Monats können Sie sich zu Nutze machen, dass Access den Tag eines Datums als ganze Zahl speichert. Von dieser Zahl brauchen Sie nur die Anzahl der in diesem Monat vergangenen Tage abzuziehen und das Ergebnis wieder in einen Datumswert umzurechnen. Mit der folgenden Formel berechnen Sie den ersten Tag des Monats auf der Basis des Datumswertes, der in dem Steuerelement txtZeitpunkt gespeichert ist:

Bild 7: Diese Abbildung enthält eine übersicht der häufig verwendeten Datums- und Zeitfunktionen.

=[txtZeitpunkt]-Tag([txtZeitpunkt])+1

Falls in txtZeitpunkt auch eine Uhrzeit angegeben ist, wird diese übernommen. Um die Uhrzeit abzuschneiden, können Sie folgenden Ausdruck verwenden:

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar