Flipping dateformats in MS-Access all over the place

Pagina: 1
Acties:

Vraag


  • sngsc6
  • Registratie: December 2020
  • Laatst online: 30-05 18:33
Hallo,

Ik ben bezig met een database, waarin ik o.a. GPS-data verwerk.

Datums zijn dus erg belangrijk.

 

Soms moet ik een datum invoeren in #08-07-2021#, om 8 juli 2021 te krijgen.

Op andere momenten moet dat juist #07-08-2021# zijn. Zonder aanwijsbare reden.

 

In Queries ziet het er zo uit:

Afbeeldingslocatie: https://tweakers.net/i/1k73MGvTvqZhCe7NOptxugOt5Oc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/IELfsqBbxlNQ5Vkw3A73pYHB.png?f=user_large

En pakt hij 8 juli.

 

Converteer je dat naar SQL, dan krijg je:

Afbeeldingslocatie: https://tweakers.net/i/sDyiKoN4fOrVvHl95QGXcQty8RI=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/Ab5RZeaS8qqOQZZkhJ41q4tK.png?f=user_large

 

Gebruik je dat in VBA, dan wordt echter 7 augustus geselecteerd.

 

Wat is hier aan de hand, en belangrijker; hoe los ik het op?

 

 

Ik gebruik:

Windows-11 Nederlands

MS-Access 2021 Engels

Alle reacties


  • XPS35
  • Registratie: April 2026
  • Laatst online: 09:34
Het is inderdaad altijd een heel gedoe met datums in Access.

Als je een in tabel opgeslagen datum wilt vergelijken met andere datum, moet je die andere datum altijd in US formaat (mm-dd-yyyyy) aanleveren, ongeacht het in Windows ingestelde datumformaat (in NL dd-mm-yyyy). In de vertaling van query-ontwerp naar SQL doet Access dat automatisch voor je. Net zoals puntkomma's naar komma's worden omgezet.

In VBA gebeurt dat omzetten niet automatisch en moet je de datum dus zelf in US formaat aanleveren.

Je moet dus gewoon met de situatie zoals die is omgaan en dat doe je kennelijk correct.

  • dixet
  • Registratie: Februari 2010
  • Laatst online: 15:25
Als je altijd consequent datums in ISO formaat intypt in code, yyyy-mm-dd, dan kan het niet fout gaan.

Het gebruik van US formaat zoals hierboven raadt ik af, omdat dit, zoals in je eigen voorbeeld al blijkt voor sommige datums geïnterpreteerd kan worden met de dag en maand omgedraaid. YYYY-MM-DD kan maar op één manier worden geïnterpreteerd.

  • XPS35
  • Registratie: April 2026
  • Laatst online: 09:34
Je wilt een NL gebruiker niet lastigvallen met zo'n ongebruikelijk datumformaat als hij bijvoorbeeld op een formulier een datum in moet vullen als criterium.