Gros probleme de comparaison de date dans une requete UPDATE

Signaler
Messages postés
3
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
5 octobre 2004
-
Messages postés
48
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
5 avril 2006
-
bonjour,
Depuis 2 jours j'essaye désespérémentde comparer une date dans un requete UPDATE execute en VBA

voici le code:
-----debut du code ----------------------

Set test1 = New Recordset
test1.CursorLocation = adUseClient

Set test1 = CurrentDb.OpenRecordset("SELECT tbl_resultat.rDate, tbl_resultat.ETP_reelle FROM tbl_resultat;")

test1.MoveFirst
e_r = CStr(etp_reelle)
e_r = Replace(e_r, ",", ".")

DoCmd.RunSQL "UPDATE tbl_resultat SET ETP_reelle=" + e_r + " where rDate=#" & test1.rDate & "#"

test1.Close
Set test1 = Nothing

---------fin du code-------------------

et a chaque fois que la requete UPDATE s'excute rien ne se passe
je ne comprends vraiment pas le probleme de cette comparaison de date

et j'espere que vos trouverez une solution a ce probleme pourtant simple
merci

2 réponses

Messages postés
18
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
11 mars 2005

C'est parce que dans access la date est au format français
soit jj/mm/aaaa
dans le code elle est au format americain
soit mm/jj/aaaa

il faut que dans ton code tu inverses les jours et mois de ta date et ça marchera.
Messages postés
48
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
5 avril 2006

Je sais pas si le changement de format à fonctionner pour toi, mais moi ca n'a pas marché, alors j'ai fait autrement. C'est un peu barbare mais ca marche.

Pour la date, tu l'as découpe pour récupérer le jour, le mois et l'année. Puis dans ta requête tu utilises DateSerial() comme ca :

DoCmd.RunSQL "UPDATE tbl_resultat SET ETP_reelle=" + e_r + " where rDate=DateSerial(" & MonAnnee & "," & MonMois & "," & MonJour & ")"

Tiens moi au courant si ca marche ou pas