16. oktober 2001 - 12:36Der er
6 kommentarer og 3 løsninger
Problemer med datoformat
Jeg har lidt et problem mht. Access måde at behandle datoer på via SQL-kald.
Hvis jeg f.eks. bruger denne sql-sætning: SELECT * FROM Fravær WHERE FraDato > #01-10-2001# så vælger den alle datoer fra d. 10. januar 2001, mens den BURDE vælge datoerne fra 1. oktober 2001.
Hvis jeg derimod bruger: SELECT * FROM Fravær WHERE FraDato > #13-10-2001# så vælger den korrekt nok dagen før måneden.
Mit spørgsmål er så nu om der findes en måde (via SQL) at \"tvinge\" Access til at se en dato i et bestemt format (helst DD-MM-ÅÅÅÅ). Jeg bruger en dansk version af Access 2000!
Terry: But if I use fx. #13-10-2001# it recognizez it as DD-MM-YYYY and it all works perfectly... And my version of Access registers the dates in the tables as DD-MM-YYYY if I use Short Date Format. How \'bout that?
Where are you entering the SQL? Access attempts to convert a date field to something it understand an das 13 is NOT a valid month it uses this as the day and 10 as the month.
If you are in SQL view in a query or if you biuld your own SQL theyou should ALWAYS use MM-DD-YYYY this is the correct format for a date in SQL
In the database it is saved as a BIG number. The regional settings for thePC determine th eformat when you are viewing dates and the danish and englisg is dd-mm-yyyy whereas thhe US is MM-DD-YYYY and as IBM invented SQL and they are US they chose to use their format as the acceptable.
Som det er sagt skal SQL have datoen i mm-dd-yy. Jeg har haft lidt problemmer med funktinen format(), fordi den returnere en variant(dateType) i nogle tilfælde. Skal din kode virke, også på maskiner der er sat op til amerikansk tid yy-mm-dd bør du bruge funktionen format$(), der returnere en string. Dit SQLstring skal derfor også indeholde #, for at SQL kan konvertere string til date.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.