Partager via

Date ACCESS

Anonyme
2020-12-17T12:56:32+00:00

Bonjour,

J'utilise ACCESS (office365) et WINDOWS 10 64bits (FR).

Je suis face à un problème que je ne comprends pas.

J'ai plusieurs tables ou des champs date/heure sont présents.

J'utilise pas mal de VBA pour automatiser la complétion des champs, avec notamment la date courante, que je récupère de la manière suivante :

(insertion dans un userform)

'date par défaut: aujourd'hui

Me.Date_Commande.Value = Date

Dans ce cas précis, dans le champ date, j'ai bien un date valide, au bon format, tout ce qu'il y a de plus normal.

Dans cette même table, je veux insérer une date par requête INSERT TO :

Dim sqlClotureBC As String

sqlClotureBC = "UPDATE T_COMMANDES SET T_COMMANDES.Cloture = Yes, T_COMMANDES.Date_cloture =" & Date & _

" WHERE (((T_COMMANDES.ID_BC)=" & Me.LISTM_BC.Value & "));"

CurrentDb.Execute sqlClotureBC, dbFailOnError

Dans ce cas précis, ACCESS enregistre une valeur innatendue :

Lorsque que je clique sur le petit calendrier, le popup se positionne bien sur la date envoyée en paramètre 17/12/2020.

D'ailleurs, il est impossible de changer la date à partir du popup comme on devrait pouvoir le faire, SAUF, si j'efface la date préalablement.

J'ai une situation équivalente dans une autre requête INSERT TO via un autre FO, sur une autre table. J'en déduis que le problème vient de la requête et de la syntaxe. Or lors du pas à pas, que ce soit en direct (date) ou par variable déclarée et typée (dateCreation as date), je rencontre ce problème.

Avez-vous une idée svp de ce qui se passe? Si oui, une solution élégante pour y remédier (j'ai essayé de convertir en texte, le numéro de série etc.. )

Merci d'avance pour vos réponses,

Microsoft 365 et Office | y accéder | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. Anonyme
    2020-12-19T15:54:50+00:00

    Bonjour,

    Tout d'abord, merci pour la réponse.

    Je suis au courant pour le stockage des dates, sur Excel il me semble que c'est le même principe.

    J'ai bien vérifié le formatage du champ:

    J'ai donc bien paramétré le champ, au format date/heure, et je demande la date au format jj/mm/aaaa

    Le sélecteur de date rentre bien une date au bon format, lorsque saisie manuellement directement dans la table:

    J'ai essayé une autre approche en VBA dans l'instruction SQL pour remplir le champ :

    Avec cette instruction AUCUN problème, une date, formatée correctement est bien insérée dans le champ.

    Seulement je passe par une fonction ACCESS qui récupère la date courante. Dans ce cas, ça me convient très bien.

    Dans le cas précédent je voulais récupérer une date en variable (comme ici avec la variable utilisateur, pour anticipation d'un évennement par exemple, dans mon cas il pourrait s'agir d'une livraison anticipée).

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. ScottGem 68,810 Points de réputation Modérateur bénévole
    2020-12-17T14:05:49+00:00

    Nous utilisons un service de traduction pour assister nos utilisateurs. Veuillez nous excuser pour les éventuelles erreurs grammaticales.

    Salut Kevin, je suis un conseiller indépendant et je vais essayer d’aider.

    Tout d’abord, vous devez comprendre comment Access stocke la valeur date/heure. Ils sont stockés comme un numéro de double précision où la portion Integer est le nombre de jours depuis le 30/12/1899 et la partie décimale est une fraction d’une journée de sorte que 0,25 = 6 AM.

    Cela dit, le problème semble être une mise en forme du contrôle. Ce contrôle que vous avez montré dans la capture d’écran semblent être formatés pour afficher comme hh:mm:ss. Tout cela correspond aux symptômes que vous décrivez. Vérifiez donc le formatage pour le contrôle.

    Si vous avez besoin de plus de précisions à ce sujet, veuillez signaler ce que vous avez trouvé et demander plus d’aide.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire