Problème d'affichage d'une date sur Access
projetvigouroux
-
Tessel75 -
Tessel75 -
Bonjour,
Je souhaite rajouter dans une table "Employé" une ligne puisqu'un nouvel employé a été embauché, pour cela j'ai utilisé la fonction INSERT INTO puis VALUES, j'ai rentré toutes les valeurs, tout marche très bien sauf la date que j'ai rentré en 19/12/1975 et qui s'affiche dans ma table en 00:01:09. J'aimerais savoir comment cela peut s'afficher comme je l'ai rentré ?
Merci d'avance
Je souhaite rajouter dans une table "Employé" une ligne puisqu'un nouvel employé a été embauché, pour cela j'ai utilisé la fonction INSERT INTO puis VALUES, j'ai rentré toutes les valeurs, tout marche très bien sauf la date que j'ai rentré en 19/12/1975 et qui s'affiche dans ma table en 00:01:09. J'aimerais savoir comment cela peut s'afficher comme je l'ai rentré ?
Merci d'avance
A voir également:
- Problème d'affichage d'une date sur Access
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
- Problème d'affichage/bugs graphiques sur Chrome sur Android - Forum Téléphones & tablettes Android
5 réponses
Bonjour,
'est juste une question de format de date. Il faut chercher dans le format de ton champ, ou de ton contrôle si c'est un formulaire, le format adéquat pour avoir le type d'affichage que tu veux. Manifestement, tu as choisis (ou le format s'est mis tout seul) en format heure. Le choix du format por chaque champ se fait dans le petit cadre en bas.
Bonne suite
'est juste une question de format de date. Il faut chercher dans le format de ton champ, ou de ton contrôle si c'est un formulaire, le format adéquat pour avoir le type d'affichage que tu veux. Manifestement, tu as choisis (ou le format s'est mis tout seul) en format heure. Le choix du format por chaque champ se fait dans le petit cadre en bas.
Bonne suite
Je remets ma 1ère réponse.
Il a fallu que je réécrive toute la formule pour la comprendre, ça donne :
AN = Année([Date/Nais])
AS = Année([Date/Sais])
MN = Mois([Date/Nais])
MS = Mois([Date/Sais])
JN = Jour([Date/Nais])
JS = Jour([Date/Sais])
VraiFaux(MN < MS Ou (MN = MS Et JN < JS ) ; AS -AN -1 ; AS -AN ) & " ans "
& VraiFaux( MS > MN ; 12 - Abs(MN -MS ) ; MN -MS ) & " mois "
& VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) & " Jours"
A mon sens pour introduire le nbre de semaines, il faudrait soit passer par la fonction "week()" qui calcule le N° de la semaine dans l'année, soit directement en calculant le nombre de jours restant après le compte des années et des mois, et en le divisant par 7. Ainsi on aurait :
Abs(VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) / 7) & "sem"
Mais je ne comprends pas pourquoi cette formulation :
==> . VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS)
alors qu'on devrait avoir :
==> . VraiFaux( JS > JN ; JS - JN ; 365 + (JS - JN)
Il a fallu que je réécrive toute la formule pour la comprendre, ça donne :
AN = Année([Date/Nais])
AS = Année([Date/Sais])
MN = Mois([Date/Nais])
MS = Mois([Date/Sais])
JN = Jour([Date/Nais])
JS = Jour([Date/Sais])
VraiFaux(MN < MS Ou (MN = MS Et JN < JS ) ; AS -AN -1 ; AS -AN ) & " ans "
& VraiFaux( MS > MN ; 12 - Abs(MN -MS ) ; MN -MS ) & " mois "
& VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) & " Jours"
A mon sens pour introduire le nbre de semaines, il faudrait soit passer par la fonction "week()" qui calcule le N° de la semaine dans l'année, soit directement en calculant le nombre de jours restant après le compte des années et des mois, et en le divisant par 7. Ainsi on aurait :
Abs(VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) / 7) & "sem"
Mais je ne comprends pas pourquoi cette formulation :
==> . VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS)
alors qu'on devrait avoir :
==> . VraiFaux( JS > JN ; JS - JN ; 365 + (JS - JN)
bonjour
J'ai modifie ce calcul mais cela bloque encore
Peux tu m'aider dans la syntaxe
Temps2: VraiFaux(Mois([Date/Nais])<Mois([Date/Sais]) Ou (Mois([Date/Nais])=Mois([Date/Sais]) Et
Semaine([Date/Nais])<Semaine([Date/Sais]) Et
Jour([Date/Nais])<Jour([Date/Sais]));Année([Date/Sais])-Année([Date/Nais])-1;Année([Date/Sais])-Année([Date/Nais])) & " ans " &
VraiFaux(Mois([Date/Sais])>Mois([Date/Nais]);12-Abs(Mois([Date/Nais])-Mois([Date/Sais]));Mois([Date/Nais])-Mois([Date/Sais])) & " mois " &
VraiFaux(Semaines([Date/Sais])>Semaine([Date/Nais]);52-Abs(Mois([Date/Nais])-Semaine([Date/Sais]));Semaine([Date/Nais])-Semaine([Date/Sais])) & " semaine " &
VraiFaux(Jour([Date/Sais])>Jour([Date/Nais]);365-Abs(Jour([Date/Nais])-Jour([Date/Sais]));Jour([Date/Nais])-Jour([Date/Sais])) & " Jours"
J'ai modifie ce calcul mais cela bloque encore
Peux tu m'aider dans la syntaxe
Temps2: VraiFaux(Mois([Date/Nais])<Mois([Date/Sais]) Ou (Mois([Date/Nais])=Mois([Date/Sais]) Et
Semaine([Date/Nais])<Semaine([Date/Sais]) Et
Jour([Date/Nais])<Jour([Date/Sais]));Année([Date/Sais])-Année([Date/Nais])-1;Année([Date/Sais])-Année([Date/Nais])) & " ans " &
VraiFaux(Mois([Date/Sais])>Mois([Date/Nais]);12-Abs(Mois([Date/Nais])-Mois([Date/Sais]));Mois([Date/Nais])-Mois([Date/Sais])) & " mois " &
VraiFaux(Semaines([Date/Sais])>Semaine([Date/Nais]);52-Abs(Mois([Date/Nais])-Semaine([Date/Sais]));Semaine([Date/Nais])-Semaine([Date/Sais])) & " semaine " &
VraiFaux(Jour([Date/Sais])>Jour([Date/Nais]);365-Abs(Jour([Date/Nais])-Jour([Date/Sais]));Jour([Date/Nais])-Jour([Date/Sais])) & " Jours"
Bonjour,
Tu ne me dis pas où ça bloque.
A mon avis, la manière de procéder est de faire progressivement pas à pas, càd tester une à une toutes les formules avant de les inclure dans un "VraiFaux()".
Ainsi tu poses une série de champs calculés pour vérifier que les formules distinctes passent et donnent le résultat attendu.
Une solution serait d'utiliser la fonction Mod() qui existe dans Excel et qu'on peut importer dans Access en ajoutant Excel dans la bibliothèque des références de l'espace VBA, et de demander aux spécialistes de Excel sur CCM, ils sont très forts.
Sinon, reprendre à la main les cycles annuels. Mais c'est trop compliqué pour moi; le problème est celui des semaines introduit parmi les mois parce que s'il est facile de connaitre le n° du jour dans le mois et le n° du jour dans la semaine, il faut déterminer le nbre de semaines entre la date d'anniversaire de l'année en cours et la date de saisie, cela déduit le nbre de mois.
Désolé de ne pour t'aider davantage. Mais le plus simple reste les modulo de Excel.
Tu ne me dis pas où ça bloque.
A mon avis, la manière de procéder est de faire progressivement pas à pas, càd tester une à une toutes les formules avant de les inclure dans un "VraiFaux()".
Ainsi tu poses une série de champs calculés pour vérifier que les formules distinctes passent et donnent le résultat attendu.
Une solution serait d'utiliser la fonction Mod() qui existe dans Excel et qu'on peut importer dans Access en ajoutant Excel dans la bibliothèque des références de l'espace VBA, et de demander aux spécialistes de Excel sur CCM, ils sont très forts.
Sinon, reprendre à la main les cycles annuels. Mais c'est trop compliqué pour moi; le problème est celui des semaines introduit parmi les mois parce que s'il est facile de connaitre le n° du jour dans le mois et le n° du jour dans la semaine, il faut déterminer le nbre de semaines entre la date d'anniversaire de l'année en cours et la date de saisie, cela déduit le nbre de mois.
Désolé de ne pour t'aider davantage. Mais le plus simple reste les modulo de Excel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait par "pas à pas", je voulais dire essayer les fonctions une à une dans la requête pour tester celles qui donnent le résultat attendu et celles qui accrochent, et alors seulement quand tout est parfait, seulement les rassembler.
Pour moi, après avoir bien cherché, j'ai fini par retrouver celle que je voulais; c'est :
PartDate("ee";[DateChoisie])
qui donne le N° de la semaine dans l'année, il faut seulement faire attention pour la 1ère semaine, quand le comptage débute, la 1ère semaine n'est pas forcément celle du 1er janvier.
ATTENTION: Ne pas confondre avec
"PartDate("e";[DateChoisie])" (un seul "e")
qui donne le n° du jour dans la semaine.
Bonne suite
Pour moi, après avoir bien cherché, j'ai fini par retrouver celle que je voulais; c'est :
PartDate("ee";[DateChoisie])
qui donne le N° de la semaine dans l'année, il faut seulement faire attention pour la 1ère semaine, quand le comptage débute, la 1ère semaine n'est pas forcément celle du 1er janvier.
ATTENTION: Ne pas confondre avec
"PartDate("e";[DateChoisie])" (un seul "e")
qui donne le n° du jour dans la semaine.
Bonne suite
Non la formule passe en mode graphique version française, c'est comme cela que je l'ai testé. Elle marche sans problème, "[DateChoisie]" est le nom du champ bien entendu.
Si c'était du SQL, càd en anglais, je pense que ce serait plutôt :
DatePart("ww", [DateChoisie]) , avec "ww" à la place de "ee" et une virgule à la place du point-virgule comme c'est toujours le cas.
Bon courage tout de même.
Si c'était du SQL, càd en anglais, je pense que ce serait plutôt :
DatePart("ww", [DateChoisie]) , avec "ww" à la place de "ee" et une virgule à la place du point-virgule comme c'est toujours le cas.
Bon courage tout de même.
Temps: VraiFaux(Mois([Date/Nais])<Mois([Date/Sais]) Ou (Mois([Date/Nais])=Mois([Date/Sais]) Et Jour([Date/Nais])<Jour([Date/Sais]));Année([Date/Sais])-Année([Date/Nais])-1;Année([Date/Sais])-Année([Date/Nais])) & " ans " & VraiFaux(Mois([Date/Sais])>Mois([Date/Nais]);12-Abs(Mois([Date/Nais])-Mois([Date/Sais]));Mois([Date/Nais])-Mois([Date/Sais])) & " mois " & VraiFaux(Jour([Date/Sais])>Jour([Date/Nais]);365-Abs(Jour([Date/Nais])-Jour([Date/Sais]));Jour([Date/Nais])-Jour([Date/Sais])) & " Jours"
Dans ce vrai faux, on calcule la periode en année mois jour.
Peux tu m'aider a modifier ce calcule le nombre de semaines
C'est a dire ans mois semaine jours
Je te remercie
Castoursl
Dans quel rubrique?
Merci de ton aide
Oui la discussion est fermée.
As tu trouvé une solution?
Merci De ton aide