[ACCESS-2019 ] Problème Date Jour et Mois inversé
Résolu
Kyndred
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
Kyndred Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Kyndred Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens vers vous car je suis bloquer sur un problème depuis quelques temps.
J'ai un champ Date ou je choisis la date de production d'un Lot cela fonctionne sauf que quand je veux calculer le total par jour en Poids par rapport à la date enfaite la date que j'ai précédemment rentré le Mois et le Jour sont inversé.
Donc quand je rentre 08/04/2022 enfaite lui comprend 04/08/2022.


C'est à peu près le même code dans les 2 autres modules (je n'ai mis que la partie qui je pense fait cela mais si besoin de tout pour mieux comprendre ou vous envoyer la BDD) dite moi
Je viens vers vous car je suis bloquer sur un problème depuis quelques temps.
J'ai un champ Date ou je choisis la date de production d'un Lot cela fonctionne sauf que quand je veux calculer le total par jour en Poids par rapport à la date enfaite la date que j'ai précédemment rentré le Mois et le Jour sont inversé.
Donc quand je rentre 08/04/2022 enfaite lui comprend 04/08/2022.
Dim strWhere As String
With Me.SF_PlanningLots.Form
strWhere = "[Debut] BETWEEN " & Format(Me.DateDebu, "\#mm\/dd\/yyyy\#") & " AND " & Format(Me.DateF, "\#mm\/dd\/yyyy\#")
.Filter = strWhere
.FilterOn = True
End With
If IsNull(Me.DateDebu) Or Len(Me.DateDebu & vbNullString) = 0 Then
Me.PLundi = Null
Else
Me.PLundi = Me.DateDebu
strCriteria = "([DateCmd] = #" & Me.PLundi & "#)"
Me.PL = Nz(DSum("[Poids]", "EnAttPlanification", strCriteria), 0)
End If
If IsNull(Me.DateDebu) Or Len(Me.DateDebu & vbNullString) = 0 Then
Me.PMardi = Null
Else
Me.PMardi = Me.DateDebu + 1
strCriteria = "([DateCmd] = #" & Me.PMardi & "#)"
Me.PM = Nz(DSum("[Poids]", "EnAttPlanification", strCriteria), 0)
End If
If IsNull(Me.DateDebu) Or Len(Me.DateDebu & vbNullString) = 0 Then
Me.PMercredi = Null
Else
Me.PMercredi = Me.DateDebu + 2
strCriteria = "([DateCmd] = #" & Me.PMercredi & "#)"
Me.PMM = Nz(DSum("[Poids]", "EnAttPlanification", strCriteria), 0)
End If
If IsNull(Me.DateDebu) Or Len(Me.DateDebu & vbNullString) = 0 Then
Me.PJeudi = Null
Else
Me.PJeudi = Me.DateDebu + 3
strCriteria = "([DateCmd] = #" & Me.PJeudi & "#)"
Me.PJ = Nz(DSum("[Poids]", "EnAttPlanification", strCriteria), 0)
End If
If IsNull(Me.DateDebu) Or Len(Me.DateDebu & vbNullString) = 0 Then
Me.PVendredi = Null
Else
Me.PVendredi = Me.DateDebu + 4
strCriteria = "([DateCmd] = #" & Me.PVendredi & "#)"
Me.PV = Nz(DSum("[Poids]", "EnAttPlanification", strCriteria), 0)
End If
C'est à peu près le même code dans les 2 autres modules (je n'ai mis que la partie qui je pense fait cela mais si besoin de tout pour mieux comprendre ou vous envoyer la BDD) dite moi
Configuration: Windows / Chrome 101.0.4951.54
A voir également:
- [ACCESS-2019 ] Problème Date Jour et Mois inversé
- Telecharger office 2019 - Télécharger - Traitement de texte
- Annuaire inversé - Guide
- Ecran inversé - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Visual c++ 2019 - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je pense qu'il faut changer les instructions telles que
en
ainsi que celles comme
en
strCriteria = "([DateCmd] = #" & Me.PJeudi & "#)"
en
strCriteria = "[DateCmd] = " & CStr(CLng(Me.PJeudi))
ainsi que celles comme
strWhere = "[Debut] BETWEEN " & Format(Me.DateDebu, "\#mm\/dd\/yyyy\#") & " AND " & Format(Me.DateF, "\#mm\/dd\/yyyy\#")
en
strWhere = "[Debut] BETWEEN " & CStr(CLng(Me.DateDebu)) & " AND " & CStr(CLng(Me.DateF))
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
Ton explication n'est pas très claire.
"je rentre", "lui comprend", bof.
Donne plutôt des faits précis à propos de ce qui ne s'affiche pas comme tu le souhaites.
Quel est le lien entre ton code et le souci?
Je me méfie énormément de ton code, surtout
Utiliser format dans ce contexte me semble la pire idée.
Que sont [Debut], Me.DateDebu et Me.DateF précisément?
Partager ta bdd est une bonne idée, et cela ne remplace pas une description factuelle du souci.
Ton explication n'est pas très claire.
"je rentre", "lui comprend", bof.
Donne plutôt des faits précis à propos de ce qui ne s'affiche pas comme tu le souhaites.
Quel est le lien entre ton code et le souci?
Je me méfie énormément de ton code, surtout
strWhere = '...
Utiliser format dans ce contexte me semble la pire idée.
Que sont [Debut], Me.DateDebu et Me.DateF précisément?
Partager ta bdd est une bonne idée, et cela ne remplace pas une description factuelle du souci.
Quand tu partages du code, précise le langage dans les balises de code (VBA est du Basic).
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
En effet je m'excuse de la vague explication que j'ai donnée, en gros dans un formulaire Précédent "Commande en cours " dans l'accueil je choisit le lot que je veux créer avec les commandes que je veux dedans...
Ensuite je vais dans le formulaire "Planning Lot" pour mettre la date, la semaine ... au Lot en double cliquant sur Semaine ou Date. Une fois cela fait je peux vous montrer l'origine du problème ! Qui est que le total/jour du Poids n'est pas très fonctionnel car il ne fonctionne pas pour certains car il inverse le mois et le jour j'ai l'impression car par exemple pour la date 08/04/2022 saisi le total/Jour apparait dans 04/08/2022 (le tableau en bas de planning lot) avec les totaux...
Une copie de ma base de données pour visualisé le problème si vous le souhaitez:
https://www.mediafire.com/file/o0vxsg075lk885o/CopieAEnvoyer.rar/file
Ensuite je vais dans le formulaire "Planning Lot" pour mettre la date, la semaine ... au Lot en double cliquant sur Semaine ou Date. Une fois cela fait je peux vous montrer l'origine du problème ! Qui est que le total/jour du Poids n'est pas très fonctionnel car il ne fonctionne pas pour certains car il inverse le mois et le jour j'ai l'impression car par exemple pour la date 08/04/2022 saisi le total/Jour apparait dans 04/08/2022 (le tableau en bas de planning lot) avec les totaux...
Une copie de ma base de données pour visualisé le problème si vous le souhaitez:
https://www.mediafire.com/file/o0vxsg075lk885o/CopieAEnvoyer.rar/file
Un énorme Mercii ! Je vous avoue que je vais aller voir à quoi servent CStr et CLng de plus près car je ne les avais jamais vu auparavant mais en tout cas ça marche !
Donc, par exemple, d'avoir pour
Le VBA tient plus compte du format de date de l'ordi, tandis que la base de données est moins prévisible.
clng() convertit la date en nombre long, et cstr() convertit le nombre en caractères.
Microsoft Office mémorise les moments comme des nombres, l'unité étant le jour et le nombre 1 correspondant au 1/1/1900.