Update d'un champs date produit une date en désordre
Bonjour à tous et déjà merci à ceux qui vont lire la suite,
J'ai une table PayOut qui reprend notamment un champs date/heure (PayOutDate) que j'affiche en date abrégée.
J'ai un formulaire (continu) qui reprend un contrôle (nommé PayOutDate) qui reprend l'information du champs PayOutDate date de la table PayOut
Dans l’événement sur click d'un des contrôle de ce formulaire,
Je stocke la valeur du contrôle date dans une variable qui est dimensionnée "date"
Code:
1 2
| Dim monpaydate As Date
monpaydate = Me.PayOutDate.Value |
...
Je passe cette valeur à une sous procédure via
Code:
Call ecrituredate(monpaydate, monndoc)
La procédure est
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Public Sub ecrituredate(monpaydate As Date, monndoc As String)
MsgBox monpaydate
Dim monsql As String
monsql = monsql & " UPDATE EcritureWebiBobTmp"
monsql = monsql & " SET EcritureWebiBobTmp.NDoc = " & monndoc
monsql = monsql & " , EcritureWebiBobTmp.[Date] = #" & monpaydate & "#"
Debug.Print monsql
DoCmd.SetWarnings (False)
DoCmd.RunSQL monsql
DoCmd.SetWarnings (True)
End Sub |
qui tente donc de faire la mise à jour d'un champs date de l'ensemble des enregistrements d'une autre table... et le résultat n'est pas celui attendu
Dans la table de départ j'ai 31-07-20, dans le formulaire sur cette table j'ai 31-07-20, à l'arrivée dans la sous procédure le msgbox qui contrôle m'annonce recevoir 31-07-20 mais dans la table d'arrivée, j'ai du 20-07-31 (reconnu dans le calendrier 20/07/2031)
Voici la requete "mise à jour" qui est construite (resutat de debug.print)
Code:
UPDATE EcritureWebiBobTmp SET EcritureWebiBobTmp.NDoc = 200048 , EcritureWebiBobTmp.[Date] = #31-07-20#
Mes recherches m’amène vers un problème de format nationaux, européen coté windows et côté des tables mais américain dans VBA
Je pourrais peut être résoudre ça en bricolant mais si il y a quelque chose d'élégant ma fois je suis preneur...
Cordialement