Afficherle numéro de mois en lettres dans un état

Le
Gundt
bonjour à tous,

sur Access97.

Apparemment simple comme problème, je suppose, je voudrais dans un
contrôle d'un état voir affiché le mois en lettres et non en chiffres.

Quand il m'affiche en chiffres, c'est le bon mois qui s'affiche (par
exemple, si l'utilisateur saisit 03 pour le mois de mars, il affiche
bien 03).
Par contre, quand je demande l'affichage en lettres, il me met
automatiquement janvier.

Voici la propriété du contrôle source de l'état :
Affichage en chiffres :
="Mois n° : " & Format([Formulaires]![mon_formulaire]![Mois])

Si je mets cela, il m'affiche bien le numéro du mois mais ce n'est pas
très parlant. Je voudrais plutôt qu'il affiche le nom du mois.

Quand je met à la place, affichage en lettres :
="Mois de : " & Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
il affiche toujours janvier.

Où est l'erreur ?

Merci d'avance.

Gundt
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FranckyONE
Le #6227421
bonjour à tous,

sur Access97.

Apparemment simple comme problème, je suppose, je voudrais dans un
contrôle d'un état voir affiché le mois en lettres et non en chiffres.

Quand il m'affiche en chiffres, c'est le bon mois qui s'affiche (par
exemple, si l'utilisateur saisit 03 pour le mois de mars, il affiche
bien 03).
Par contre, quand je demande l'affichage en lettres, il me met
automatiquement janvier.

Voici la propriété du contrôle source de l'état :
Affichage en chiffres :
="Mois n° : " & Format([Formulaires]![mon_formulaire]![Mois])

Si je mets cela, il m'affiche bien le numéro du mois mais ce n'est pas
très parlant. Je voudrais plutôt qu'il affiche le nom du mois.

Quand je met à la place, affichage en lettres :
="Mois de : " & Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
il affiche toujours janvier.

Où est l'erreur ?

Merci d'avance.

Gundt



En effet ton problème est simple

la donnée que tu as n'est pas une date ?!
si c'est le cas, comment faire comprendre que 3 est un mois en tapant
juste 3 ?
met ta donnée comme une date dans ta table
en source, met uniquement
mois
change la propriété "format" de ton contrôle : mmm
change aussi la propriété "Masque de saisie" : 00/00/00;0;_

Après, tout dépend de ce que tu veux faire....
si un N°de mois te suffit, met ta donnée en Octet dans la table
faire un contrôle "zone de liste déroulante" 2 colones

Ou encore remlace ton
Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
par :
Format("01/" & [Formulaires]![mon_formulaire]![Mois]"/2007";"mmmm")

J'espère qu'une de ces pistes tu guidera

Gundt
Le #6227401

En effet ton problème est simple
la donnée que tu as n'est pas une date ?!
si c'est le cas, comment faire comprendre que 3 est un mois en tapant
juste 3 ?
met ta donnée comme une date dans ta table
en source, met uniquement
mois
change la propriété "format" de ton contrôle : mmm
change aussi la propriété "Masque de saisie" : 00/00/00;0;_
je m'aperçois que je me suis mal exprimé et pas assez précis : le mois

est extrait d'un champ date qui est DateBL : du format jj/mm/aaaa dans
la table des BL. On est obligé de stocker sous cette forme donc
puisqu'il y en a tous le sjours ouvrés.

Dans le formulaire, l'utilisateur saisit le numéro de mois par exemple
03 (et non pas 3, car il y a un test de validation avant que le
formulaire n'ouvre l'état).
Si l'utilisateur tape 03, il m' affiche bien les données du mois de mars
et affiche mois n° 03.
si je demande l'affichage en lettres du mois, il m'affiche mois janvier
et les données du mois de mars. En fait, la requête de l'état est bonne
mais c'est juste un problème de format d'affichage au niveau de l'état
pour le contrôle mois.

Merci d'avance.

Gundt

Gundt
Le #6227261

Ou encore remlace ton
Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
par :
Format("01/" & [Formulaires]![mon_formulaire]![Mois]"/2007";"mmmm")


j'ai essayé aussi mais il m'affiche : erreur de syntaxe.

J'espère qu'une de ces pistes tu guidera


J'ai mis la propriété date sur le ctrrl de l'état mais c'est pareil.

Merci d'avance.

Gundt

Willi2004
Le #6227251
Bonjour Gunt.
Pourquoi ne pas passer par une fonction que tu créerais dans un module?
Par exemple celle-ci (à coller dans ton module):

Function MoisEnLettre(N°Mois)
Select Case N°Mois
Case 1: MoisEnLettre = "Janvier"
Case 2: MoisEnLettre = "Fevrier"
Case 3: MoisEnLettre = "Mars"
Case 4: MoisEnLettre = "Avril"
Case 5: MoisEnLettre = "Mai"
Case 6: MoisEnLettre = "Juin"
Case 7: MoisEnLettre = "Juillet"
Case 8: MoisEnLettre = "Août"
Case 9: MoisEnLettre = "Septembre"
Case 10: MoisEnLettre = "Octobre"
Case 11: MoisEnLettre = "Novembre"
Case 12: MoisEnLettre = "Décembre"
End Select
End Function


Puis dans la propriété source du contrôle de ton état, tu faits appel à
cette fonction en écrivant:
="Mois de : " & " "&MoisEnLettre([Formulaires]![ton_formulaire]![Mois])



"Gundt" 460fba04$0$5893$

Ou encore remlace ton
Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
par :
Format("01/" & [Formulaires]![mon_formulaire]![Mois]"/2007";"mmmm")


j'ai essayé aussi mais il m'affiche : erreur de syntaxe.

J'espère qu'une de ces pistes tu guidera


J'ai mis la propriété date sur le ctrrl de l'état mais c'est pareil.

Merci d'avance.

Gundt




Gundt
Le #6227241
Bonjour Gunt.
Pourquoi ne pas passer par une fonction que tu créerais dans un module?
Par exemple celle-ci (à coller dans ton module):

Function MoisEnLettre(N°Mois)
Select Case N°Mois
Case 1: MoisEnLettre = "Janvier"
Case 2: MoisEnLettre = "Fevrier"
Case 3: MoisEnLettre = "Mars"
Case 4: MoisEnLettre = "Avril"
Case 5: MoisEnLettre = "Mai"
Case 6: MoisEnLettre = "Juin"
Case 7: MoisEnLettre = "Juillet"
Case 8: MoisEnLettre = "Août"
Case 9: MoisEnLettre = "Septembre"
Case 10: MoisEnLettre = "Octobre"
Case 11: MoisEnLettre = "Novembre"
Case 12: MoisEnLettre = "Décembre"
End Select
End Function


Puis dans la propriété source du contrôle de ton état, tu faits appel à
cette fonction en écrivant:
="Mois de : " & " "&MoisEnLettre([Formulaires]![ton_formulaire]![Mois])


Oui, ça marche : c'est super !!

Ce qui est marrant, (si on peut dire, c'est que le problème ne se pose
pas pour l'année, pourtant, j'avais mis le même format que le mois).

Encore merci aux 2 personnes qui m'ont aidé.

Gundt

Gilles MOUGNOZ
Le #6227141
Bonjour à tous,
Une erreur s'est glissée dans ta formule, Francky:
Format("01/" & [Formulaires]![mon_formulaire]![Mois] & "/2007";"mmmm")
Il manquait le deuxième "&". Par ailleurs, j'utiliserai plutôt ceci:
Format("15/" & [Formulaires]![mon_formulaire]![Mois] & "/2007";"mmmm")
afin qu'il n'y ait pas de confusion possible entre le jour et le mois.
Personnellement, j'ai carrément créé une table contenant le numéro et le nom
des 12 mois.
L'intéret ? Le nom de tes mois est personnalisé (janvier / Janvier / jan. /
01 ...) et tu peux utiliser cette table comme source pour des listes
déroulantes.
L'inconvénient ? Il faut bien verrouiller l'accès à cette table sous peine
de voir disparaître le mois de novembre (trop pluvieux) ou le mois d'août
(trop chaud!!!).
Voilà, c'était juste histoire de proposer une autre solution...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
bonjour à tous,
sur Access97.
Apparemment simple comme problème, je suppose, je voudrais dans un
contrôle d'un état voir affiché le mois en lettres et non en chiffres.
Quand il m'affiche en chiffres, c'est le bon mois qui s'affiche (par
exemple, si l'utilisateur saisit 03 pour le mois de mars, il affiche bien
03).
Par contre, quand je demande l'affichage en lettres, il me met
automatiquement janvier.
Voici la propriété du contrôle source de l'état :
Affichage en chiffres :
="Mois n° : " & Format([Formulaires]![mon_formulaire]![Mois])
Si je mets cela, il m'affiche bien le numéro du mois mais ce n'est pas
très parlant. Je voudrais plutôt qu'il affiche le nom du mois.
Quand je met à la place, affichage en lettres :
="Mois de : " & Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
il affiche toujours janvier.
Où est l'erreur ?
Merci d'avance.
Gundt
En effet ton problème est simple

la donnée que tu as n'est pas une date ?!
si c'est le cas, comment faire comprendre que 3 est un mois en tapant
juste 3 ?
met ta donnée comme une date dans ta table
en source, met uniquement
mois
change la propriété "format" de ton contrôle : mmm
change aussi la propriété "Masque de saisie" : 00/00/00;0;_
Après, tout dépend de ce que tu veux faire....
si un N°de mois te suffit, met ta donnée en Octet dans la table
faire un contrôle "zone de liste déroulante" 2 colones
Ou encore remlace ton
Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
par :
Format("01/" & [Formulaires]![mon_formulaire]![Mois]"/2007";"mmmm")
J'espère qu'une de ces pistes tu guidera



Roland
Le #6227021
Bonjour,

"Gundt"
| Voici la propriété du contrôle source de l'état :
| Affichage en chiffres :
| ="Mois n° : " & Format([Formulaires]![mon_formulaire]![Mois])



| Quand je met à la place, affichage en lettres :
| ="Mois de : " & Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
| il affiche toujours janvier.



Utiliser

= "Mois de : " & Montname(Forms!MonFormulaire!LeMois)


A+
Jessy Sempere
Le #6226991
Bonjour

Effectivement, il existe cette fonction mais elle est dispo qu'à partir
d'Access 2000.

Vu que notre ami est sous Access 97, voici une fonction equivalente :
http://access.fr.free.fr/articles.php?lng=fr&pg0

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour,

"Gundt"
| Voici la propriété du contrôle source de l'état :
| Affichage en chiffres :
| ="Mois n° : " & Format([Formulaires]![mon_formulaire]![Mois])



| Quand je met à la place, affichage en lettres :
| ="Mois de : " & Format([Formulaires]![mon_formulaire]![Mois];"mmmm")
| il affiche toujours janvier.



Utiliser

= "Mois de : " & Montname(Forms!MonFormulaire!LeMois)


A+




Publicité
Poster une réponse
Anonyme