Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb à l'Insertion d'une date dans un champ

4 réponses
Avatar
Christophe
Bonjour,
Il me semble qu'Access (2000 et 2003) ait un problème concernant l'insertion
d'une date dans un champ.
Voici le code VBA :
dateInsert = format(now(), "dd/mm/yyyy")
CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"

En mode debug, datePaiement est correct (10/03/2006)
Mais lorsqu'elle est insérée dans le champ, cela donne 03/10/2006

Que faire???

D'avance merci

4 réponses

Avatar
Gilbert
Bonjour,

Toutes les versions d'Access ont ce même "problème".
Tu devrais peut-être utiliser
datePaiement = format(now(), "dd/mm/yyyy")
au lieu de
dateInsert = format(now(), "dd/mm/yyyy")
pour insérer ta date au bon format
CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"


Gilbert


"Christophe" a écrit dans le message
de news:
Bonjour,
Il me semble qu'Access (2000 et 2003) ait un problème concernant
l'insertion

d'une date dans un champ.
Voici le code VBA :
dateInsert = format(now(), "dd/mm/yyyy")
CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"

En mode debug, datePaiement est correct (10/03/2006)
Mais lorsqu'elle est insérée dans le champ, cela donne 03/10/2006

Que faire???

D'avance merci


Avatar
3stone
Salut,

"Christophe"
| Il me semble qu'Access (2000 et 2003) ait un problème concernant l'insertion
| d'une date dans un champ.
| Voici le code VBA :
| dateInsert = format(now(), "dd/mm/yyyy")
| CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"


Ce n'est pas à proprement parler un problème !
Il faut simplement retenir que le VBA ne parle que l'anglais,
y compris pour les dates qu'il faut transmettre au format US.

Evite aussi de passer par des variables intermédiaires que ne font que
augmenter la difficulté de compréhension et peuvent le cas échéant
"retourner" au format Fr la date que tu vient justement et péniblement de
transformer au format US.


CurrentDb.Execute "Insert Into latable Values (" & Format(Date,"#mm/dd/yyyy#") & ");"



PS: La fonction Now() renvoie la date ET l'heure

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Gilles MOUGNOZ
Bonjour,
Il me semble qu'Access (2000 et 2003) ait un problème concernant
l'insertion
d'une date dans un champ.
Voici le code VBA :
dateInsert = format(now(), "dd/mm/yyyy")
CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"
En mode debug, datePaiement est correct (10/03/2006)
Mais lorsqu'elle est insérée dans le champ, cela donne 03/10/2006
Que faire???
D'avance merci


Bonjour, Christophe

Utilise le format de date US ("mm/dd/yyyy"), c'est le seul que SQL comprend.

Bonne continuation

Avatar
Eric
Bonjour,

LE SQL ne connait que le format anglo-saxon pour un champ de type
Date/Heure, si je ne me trompe pas.
Donc je mettrai:
CurrentDb.Execute "INSERT INTO table VALUES (" &
Format(Now(),"#mm/dd/yyyy#") & ");" ce qui aura pour effet de l'écrire
dans la table au format défini dans les paramètres régionaux de l'OS,
soit dans ton cas au format Français ie 10/03/2006

Bonjour,
Il me semble qu'Access (2000 et 2003) ait un problème concernant l'insertion
d'une date dans un champ.
Voici le code VBA :
dateInsert = format(now(), "dd/mm/yyyy")
CurrentDb.Execute "INSERT INTO table VALUES (#" & datePaiement & "#);"

En mode debug, datePaiement est correct (10/03/2006)
Mais lorsqu'elle est insérée dans le champ, cela donne 03/10/2006

Que faire???

D'avance merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr