Datum wordt verbouwd met maken van query met vba

Status
Niet open voor verdere reacties.

brutus

Gebruiker
Lid geworden
30 okt 2000
Berichten
785
Hallo,

Ik heb een module met daarin code die eerst een SQL statement maakt en vervolgens een query aanmaakt aan de hand van deze sql string.

Deze code ziet er ongeveer als volgt uit:
Code:
varSQLstr = "SELECT * FROM Projecten WHERE projecten.startdatum >#12-05-2005#;

Set qdf = dbs.CreateQueryDef("Rapport", varSQLstr)

Het probleem is nu dat de query die gemaakt is niet als criterium 12-05-2005 heeft, maar 05-12-2005. Dat is dus niet de bedoeling. Ik heb al geprobeerd om met Format(VarMetDatum, "mm-dd-yyyy") de datum te veranderen, maar om de een of andere reden blijft het 05-12-2005. Weet iemand hoe ik die datum op de juiste manier in de query krijg?
 
Als je een datum op die wijze aan een query meegeeft krijg je inderdaad dat soort problemen.
Intern werkt Access met de Amerikaanse datum notatie mm/dd/eejj.
Met name bij het gebruik van queries waar je een datum als string meegeeft heb je daar last van. Access converteert de meegegeven datum namelijk eerst naar het Amerikaanse formaat voordat hij er iets mee doet. Daarbij worden dag en maand regelmatig verwisseld. Lang leve Microsoft!!!!

De meest veilige manier om dit probleem op te lossen is de datum gewoon in het Amerikaanse formaat aan de query mee te geven.

varSQLstr = "SELECT * FROM Projecten WHERE projecten.startdatum >#05/12/2005#;
 
Bartuls,
Bedankt voor je zeer snelle reactie! Ik had reeds geprobeerd om de datum in mm/dd/yyyy formaat aan te bieden, maar dat werkte niet. Het bleek dus dat ik een typefout gemaakt had in een variabelenaam. Het werkt nu dus wel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan