Wie kann man in VBA (Access 2010) zwei US-Datumsangaben vergleichen?

... komplette Frage anzeigen

2 Antworten

Die Datumsangabe müssen aus technischen Gründen im US-Format formatiert sein

Das verstehe ich nicht ganz. Das Format betrifft ja nur den angezeigten und nicht den gespeicherten Wert. Du kannst doch die Datumsvariable jederzeit in Dein gewünschtes Format umformatieren?

Datum = Format([Date];"MM.DD.YYY")

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von klugshicer
12.08.2016, 08:44

Das Problem ist, dass die deutsche Access-Version mit zwei verschiedenen Datentypen arbeitet die untereinander inkompatibel sind.

  • Formularfelder arbeiten mit EU-Datum
  • VBA in Bezug auf Tabellen arbeitet mit US-Datum
  • CDate kann in der deutschen Version kein US-Datum in EU-Datum umwandeln.
  • DateDiff kann in der deutschen Access-Variante nur EU-Datum verarbeiten.
  • der Datentyp Date im deutschen Access verwendet das Deutsche Datumsformat ohne Rauten.

inzwischen habe ich eine Lösung gefunden, ich wandle die Datumseingaben aus dem Formular einmal in EU-Datum und einmal in US-Datum um.

Dann arbeite ich parallel mit zwei verschiedenen Datumsformaten US und EU und je nach dem welche Funktion welches Format benötigt  suche ich mir die Variable mit dem passenden Format aus.

0

Egal, welches Format zur Anzeige benutzt, zum Vergleich ziehst die beiden Daten voneinander ab.

Ist startDatum abzüglich endDatum negativ, stimmt die Reihenfolge.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?