OVH Cloud OVH Cloud

Format Date

13 réponses
Avatar
Ayrton [ASC]
Bonjour à tous,

Je rencontre un petit souci de format de champ Date ; j'ai fait une
petite appli à mon boulot pour des personnes de la régie recette mais je
coince sur une histoire de format ; j'ai une requête qui leur permet à
travers un bouton de taper une date et en retour elles ont le montant du
CA de la journée concernée ; petit bémol, elles sont obilgées de taper
la date au format US car c'est comme ça que j'ia fait dans ma requête ;
évidement, ça ne leur va pas et moi je ne me rappelle plus comment on
fait ; -( ; 3stone m'avait déjà donné la bonne syntaxe pour avoir un
champ formaté en français ( jour/mois/année ) mais je ne me rappelle
plus ! ! !
Voici ma requête :
SELECT Format([DateCde],"yyyymmdd") AS An_Mois_Jour,
Sum(TblProduits.Montant) AS SumOfMontant
FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde =
TblProduits.RefCde
GROUP BY Format([DateCde],"yyyymmdd")
HAVING (((Format([DateCde],"yyyymmdd")) Like "*" & [Quej Jour ?] &
"*"));

Comment puis je faire pour que les personnes puissent taper, par exemple
: 01/06/2006 au lieu de 20060601 ? Je sur Access 2002
Un grand merci d'avance à vous tous.

PS : J'utilise à titre perso Office 2007 depuis une semaine ; quand
j'ouvre une appli faite avec Access 2002 ou 2003, j'ai un message
d'erreur dans un chmp Texte où figure la fonction " UserNamme " ;
celui/-ci, au lieu de m'afficher mon prénom comme c'était le cas avant,
m'affiche : #nom?
Est ce que cette fonction est différente avec Access 2007 ou ne
fonctionne t'elle plus ?

1000 merci à vous

Bon Week End

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr

10 réponses

1 2
Avatar
3stone
Salut Ayrton ;-)

"Ayrton [ASC]"
[...]
| Voici ma requête :
| SELECT Format([DateCde],"yyyymmdd") AS An_Mois_Jour,
| Sum(TblProduits.Montant) AS SumOfMontant
| FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde | TblProduits.RefCde
| GROUP BY Format([DateCde],"yyyymmdd")
| HAVING (((Format([DateCde],"yyyymmdd")) Like "*" & [Quej Jour ?] &
| "*"));
|
| Comment puis je faire pour que les personnes puissent taper, par exemple
| : 01/06/2006 au lieu de 20060601 ? Je sur Access 2002


essaies :

Like "*" & Format([Quel jour ?];"yyyymmdd") & "*"




| PS : J'utilise à titre perso Office 2007 depuis une semaine ; quand


regarde ma réponse quelque messages au-dessus (ou en-dessous)

"Problème édition access 2007" ;-(


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Pierre Verreux
Je crois que cette fonction peut t'aider, en la modifiant si nécessaire :
' ---
' CONVERSION D'UNE DATE FRANCAISE EN DATE US
' ---
Function DateUS(ByVal DateFR As Date) As String
DateUS = "#" & Month(DateFR) & "/" & Day(DateFR) & "/" & Year(DateFR) & "#"
End Function
@+



"Ayrton [ASC]" a écrit dans le message de news:

Bonjour à tous,

Je rencontre un petit souci de format de champ Date ; j'ai fait une petite
appli à mon boulot pour des personnes de la régie recette mais je coince
sur une histoire de format ; j'ai une requête qui leur permet à travers un
bouton de taper une date et en retour elles ont le montant du CA de la
journée concernée ; petit bémol, elles sont obilgées de taper la date au
format US car c'est comme ça que j'ia fait dans ma requête ; évidement, ça
ne leur va pas et moi je ne me rappelle plus comment on fait ; -( ;
3stone m'avait déjà donné la bonne syntaxe pour avoir un champ formaté en
français ( jour/mois/année ) mais je ne me rappelle plus ! ! !
Voici ma requête :
SELECT Format([DateCde],"yyyymmdd") AS An_Mois_Jour,
Sum(TblProduits.Montant) AS SumOfMontant
FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde =
TblProduits.RefCde
GROUP BY Format([DateCde],"yyyymmdd")
HAVING (((Format([DateCde],"yyyymmdd")) Like "*" & [Quej Jour ?] & "*"));

Comment puis je faire pour que les personnes puissent taper, par exemple :
01/06/2006 au lieu de 20060601 ? Je sur Access 2002
Un grand merci d'avance à vous tous.

PS : J'utilise à titre perso Office 2007 depuis une semaine ; quand
j'ouvre une appli faite avec Access 2002 ou 2003, j'ai un message d'erreur
dans un chmp Texte où figure la fonction " UserNamme " ; celui/-ci, au
lieu de m'afficher mon prénom comme c'était le cas avant, m'affiche :
#nom?
Est ce que cette fonction est différente avec Access 2007 ou ne fonctionne
t'elle plus ?

1000 merci à vous

Bon Week End

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr



Avatar
Ayrton [ASC]
Bonjour *3stone*
Dans ton message de news:
tu nous envoyais cette missive :-(*)
Salut Ayrton ;-)


Bonjour Pierre ;-)
Ca va ? Ca fait un petit bout de temps que je ne rencontrais pas de
soucis ! ; eh bien c'est fini, revoilà les p'tites embrouillent qui
reviennent ;-)

essaies :

Like "*" & Format([Quel jour ?];"yyyymmdd") & "*"


Ca fonctionne pas ;-( Quand ke resultat de la requête s'affiche, tous
les champs sont vides ; et dans la date que je saisi, je sais que ça
doit me retourner une somme ; j'ai toujuors autant de mal avec les
formats de champs ;-(


PS : J'utilise à titre perso Office 2007 depuis une semaine ; quand



regarde ma réponse quelque messages au-dessus (ou en-dessous)

"Problème édition access 2007" ;-(


Ok vu ; mais bon, rassure toi, je suis parfaitement conscient de ce que
représente l'utilisation d'une bêta ; je ne viendrai donc pas vous
ennuyer sur ce forum avec ça ; remarque, pour l'instant, ça ne se passe
pas trop mal ! j'avais juste remarqué que ma zone detexre m'affichait ce
message d'erreur et je ne suis pas arrivé à savoir si c'est " normal "
ou si je devais modifier le : =[Environ$]("Username").
Mais bon, c'est franchement pas important ! Le jour où je n'aurais plus
que ce problème là à régler........;-)

Merci quand même 3stone

A Bientôt ;-)

Bonne fin de journée

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr


Avatar
Ayrton [ASC]
Bonjour *Pierre Verreux*
Dans ton message de news:
tu nous envoyais cette missive :-(*)
Je crois que cette fonction peut t'aider, en la modifiant si
nécessaire : ' ---
' CONVERSION D'UNE DATE FRANCAISE EN DATE US
' ---
Function DateUS(ByVal DateFR As Date) As String
DateUS = "#" & Month(DateFR) & "/" & Day(DateFR) & "/" & Year(DateFR)
& "#" End Function
@+


Merci c'est sympa ; mais si je lis bien, ta fonction fait l'inverse de
ce que je recherche, à savoir convertir une date au format US en date au
format FR.
Toi, tu me proposes de convertir une date FR en date US ; et comme je ne
suis pas un pro des formats.........

En tout cas, je te remercie quand même et je me la mets dans un dossier
pour l'instant.

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr

Avatar
Ayrton [ASC]
Re *3stone*

Bon, ça y est j'ai trouvé ;-)
Je sui sparti de ce que tu m'as indiqué et finalement en faisant ça :
SELECT Format([DateCde],"dd/mm/yyyy") AS An_Mois_Jour,
Sum((([Montant]))) AS SumOfMontant
FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde =
TblProduits.RefCde
GROUP BY Format([DateCde],"dd/mm/yyyy")
HAVING (((Format([DateCde],"dd/mm/yyyy")) Like "*" & [Quelle Date ? ] &
"*"));

J'ai ce que je veux ! !
Et les filles pourront être contentes car elles taperont la date en
français ;-) Ca les perturbe de taper 20060601, donc maintenant ce
sera : 01/06/2006
Si y a que ça pour leur faire plaisir hein , ;-)

En tout cas, merci de m'avoir mis sur la voie

A une prochaine fois Pierre

Bon dimanche

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Avatar
J-Pierre
Bonjour,

Si je peux me permettre, le seul format qui passe vraiment de partout (SQLServer français ou anglais, Access français ou anglais),
c'est YYYY/MM/DD.

Sinon, tu es toujours plus ou moins dépendant des paramètres régionaux, et 01/06/2006 ne veut pas toujours dire la même chose.....

J-Pierre

"Ayrton [ASC]" a écrit dans le message de news:
Bonjour *Pierre Verreux*
Dans ton message de news:
tu nous envoyais cette missive :-(*)
Je crois que cette fonction peut t'aider, en la modifiant si
nécessaire : ' ---
' CONVERSION D'UNE DATE FRANCAISE EN DATE US
' ---
Function DateUS(ByVal DateFR As Date) As String
DateUS = "#" & Month(DateFR) & "/" & Day(DateFR) & "/" & Year(DateFR)
& "#" End Function
@+


Merci c'est sympa ; mais si je lis bien, ta fonction fait l'inverse de ce que je recherche, à savoir convertir une date au format
US en date au format FR.
Toi, tu me proposes de convertir une date FR en date US ; et comme je ne suis pas un pro des formats.........

En tout cas, je te remercie quand même et je me la mets dans un dossier pour l'instant.

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr




Avatar
Ayrton [ASC]
Bonjour *J-Pierre*
Dans ton message de news:%
tu nous envoyais cette missive :-(*)
Bonjour,

Si je peux me permettre, le seul format qui passe vraiment de partout
(SQLServer français ou anglais, Access français ou anglais), c'est
YYYY/MM/DD.


Bien sûr que tu peux te permettre ;-)

Sinon, tu es toujours plus ou moins dépendant des paramètres
régionaux, et 01/06/2006 ne veut pas toujours dire la même chose.....
J-Pierre


Sur le fond je suis d'accord ; dans le cas présent, c'est juste pour
faciliter la saisie à des personnes qui ont du mal à saisir en mode us,
à savoir : 20060601
Pour l'appli en question, ça me retourne les bons résultats ; donc dès
demain, je vais modifier le sql pour qu'elles puissent saisir les dates
en format fr.

Maintenant, je suis d'accord sur le fait que 01/06/2006 ne voudra pas
toujours dire 1er Juin 2006........

--
@+
Christophe
http://cerbermail.com/?NiMhJk1y8Y
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.outlookexpress6?hl=fr

Avatar
J-Pierre
Bonjour,

Je ne parle pas du format de saisie qui doit être adapté aux coutumes régionales, tu laisses les paramètres régionaux déterminer ce
format, mais de la conversion de la date dans un format le plus général possible pour accéder à la base, donc du Format(....).

20060601 est un format universel me semble-t-il, mais je me souviens avoir eu des problèmes avec Access, je l'ai donc abandonné,
alors que YYYY/MM/DD passe partout.

01/06/2006 voudra toujours dire 1er juin 2006 si cette date est formatée "yyyy/mm/dd" et que tu stockes le résultat dans un string,
si tu le stockes dans un champ date, access le remet au format des options régionales.

Quant à modifier SQL, je ne vois pas comment, les dates sont stockées dans un format interne propre au serveur, je suppose que tu
parlais de ta requête.

J-Pierre

"Ayrton [ASC]" a écrit dans le message de news: OyWcWU$
Bonjour *J-Pierre*
Dans ton message de news:%
tu nous envoyais cette missive :-(*)
Bonjour,

Si je peux me permettre, le seul format qui passe vraiment de partout
(SQLServer français ou anglais, Access français ou anglais), c'est
YYYY/MM/DD.


Bien sûr que tu peux te permettre ;-)

Sinon, tu es toujours plus ou moins dépendant des paramètres
régionaux, et 01/06/2006 ne veut pas toujours dire la même chose.....
J-Pierre


Sur le fond je suis d'accord ; dans le cas présent, c'est juste pour faciliter la saisie à des personnes qui ont du mal à saisir
en mode us, à savoir : 20060601
Pour l'appli en question, ça me retourne les bons résultats ; donc dès demain, je vais modifier le sql pour qu'elles puissent
saisir les dates en format fr.

Maintenant, je suis d'accord sur le fait que 01/06/2006 ne voudra pas toujours dire 1er Juin 2006........

--
@+
Christophe
http://cerbermail.com/?NiMhJk1y8Y
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.outlookexpress6?hl=fr




Avatar
Ayrton [ASC]
Bonjour *J-Pierre*
Dans ton message de news:eH6D$
tu nous envoyais cette missive :-(*)
Bonjour,


Re,

Je ne parle pas du format de saisie qui doit être adapté aux coutumes
régionales, tu laisses les paramètres régionaux déterminer ce format,
mais de la conversion de la date dans un format le plus général
possible pour accéder à la base, donc du Format(....).
20060601 est un format universel me semble-t-il, mais je me souviens
avoir eu des problèmes avec Access, je l'ai donc abandonné, alors que
YYYY/MM/DD passe partout.


Dans le sql de marequête que voici :
SELECT Format([DateCde],"dd/mm/yyyy") AS An_Mois_Jour, Sum(([Montant]))
AS SumOfMontant
FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde =
TblProduits.RefCde
GROUP BY Format([DateCde],"dd/mm/yyyy")
HAVING (((Format([DateCde],"dd/mm/yyyy")) Like "*" & [Quelle Date ? ] &
"*"));

si je change :Format([DateCde],"dd/mm/yyyy") etc......en Format(
[DateCde],"yyyy/mm/dd") etc......, je ne peux pas sasir 01/06/2006 quand
la boite de dialogue demandant la saisie de la date s'ouvre.
Je ne suis pas un pro d' Access mais à l'heure qu'il est, je n'ai pas
trouvé d'autres moyen de formater mon champ autre que celui-ci pour
permettre aux filles de saisir une date en fr ; si je mets YYYY/MM/DD
dans le format de champ, quand je saisi la date en fr ( 01/06/2006 ), la
fene^tre de résultat s'ouvre mais elle est vide ; je n'ai donc aucun
résultat d'affiché.
Par contre, çafonctionne très bien comme j'ai fait ; ceci étant, peut
être quand même que je m'y prends mal ? En tout cas, je fais surtout
comme je peux ! ! ;-)

Quant à modifier SQL, je ne vois pas comment, les dates sont stockées
dans un format interne propre au serveur, je suppose que tu parlais
de ta requête.


Bien évidement ; avec toutes mes excuses pour m'être mal exprimé

--
@+
Christophe
http://cerbermail.com/?NiMhJk1y8Y
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.outlookexpress6?hl=fr

Avatar
J-Pierre
Bonsoir,

Je suppose qu'elles cliquent sur un bouton et que par code VBA,, tu exécutes ta requête et que ça ouvre la boîte de dialogue.

Au lieu de ça, quand elles cliquent, tu ouvres un formulaire avec "FEN indépendante" à oui et qui contient un champ date au format
de saisie que tu veux.

Dans ce formulaire, un bouton "OK", quand elles cliquent, tu contrôles et formates cette date, et tu exécutes ta requête en lui
passant la date formatée comme paramètre.

Pour exécuter une requête paramétrée en VBA, voir le site de Raymond:
http://officesystem.access.free.fr/ex_requetes_vba.htm

Cette solution te permet de contrôler qu'elles ne rentrent pas n'importe quoi comme date et a aussi l'avantage de te laisser toute
liberté pour la présentation :-) alors que la boîte de dialogue......

J-Pierre

"Ayrton [ASC]" a écrit dans le message de news: %
Bonjour *J-Pierre*
Dans ton message de news:eH6D$
tu nous envoyais cette missive :-(*)
Bonjour,


Re,

Je ne parle pas du format de saisie qui doit être adapté aux coutumes
régionales, tu laisses les paramètres régionaux déterminer ce format,
mais de la conversion de la date dans un format le plus général
possible pour accéder à la base, donc du Format(....).
20060601 est un format universel me semble-t-il, mais je me souviens
avoir eu des problèmes avec Access, je l'ai donc abandonné, alors que
YYYY/MM/DD passe partout.


Dans le sql de marequête que voici :
SELECT Format([DateCde],"dd/mm/yyyy") AS An_Mois_Jour, Sum(([Montant])) AS SumOfMontant
FROM TblCommandes INNER JOIN TblProduits ON TblCommandes.RefCde = TblProduits.RefCde
GROUP BY Format([DateCde],"dd/mm/yyyy")
HAVING (((Format([DateCde],"dd/mm/yyyy")) Like "*" & [Quelle Date ? ] & "*"));

si je change :Format([DateCde],"dd/mm/yyyy") etc......en Format( [DateCde],"yyyy/mm/dd") etc......, je ne peux pas sasir
01/06/2006 quand la boite de dialogue demandant la saisie de la date s'ouvre.
Je ne suis pas un pro d' Access mais à l'heure qu'il est, je n'ai pas trouvé d'autres moyen de formater mon champ autre que
celui-ci pour permettre aux filles de saisir une date en fr ; si je mets YYYY/MM/DD dans le format de champ, quand je saisi la
date en fr ( 01/06/2006 ), la fene^tre de résultat s'ouvre mais elle est vide ; je n'ai donc aucun résultat d'affiché.
Par contre, çafonctionne très bien comme j'ai fait ; ceci étant, peut être quand même que je m'y prends mal ? En tout cas, je fais
surtout comme je peux ! ! ;-)

Quant à modifier SQL, je ne vois pas comment, les dates sont stockées
dans un format interne propre au serveur, je suppose que tu parlais
de ta requête.


Bien évidement ; avec toutes mes excuses pour m'être mal exprimé

--
@+
Christophe
http://cerbermail.com/?NiMhJk1y8Y
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.outlookexpress6?hl=fr




1 2