Access

Fermé
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 - Modifié par 00lina00 le 26/06/2013 à 20:56
 Tessel75 - 26 juin 2013 à 20:55
Bonjour,

Il y a quelques mois j'avais posé une question à laquelle "tess157" m'a apporté "LA" solution, depuis croyez moi ça roule et c'super et dans la rapidité et dans le suivi. Ceci dis je souhaite aller un peu plus loin :
J'ai donc classé tous mes documents faits à partir d'access suivant le principe de classement automatique dans un répertoire donné avec le nom que je veux etc.... un clic et c'est parti; cependant je souhaite faire un classement pour le courrier expédié, à partir d'un formulaire créé avec des boutons qui lancent en impression un état quelconque, ou bien qui ouvre un état .....ce formulaire n'est issu ni d'une requête, ni d'une table, il est simplement composé de boutons qui ouvrent ou impriment différents états issus de tables différentes.
Donc je souhaite faire une exportation comme d'hab mais avec une variante cf ci-dessous :
Function courrierMensExport()
stDocName = "et_suivi_notes_courriers"
champname = "Courrierenvoyes"
NomFinalDoc = "_" & Left(Time, 2) & "_" & Mid(Time, 4, 2) & "_" & champname & "_" & ".snp"
CheminExport = "O:\gestion_espace\DIRECTION_ESPACES_VERTS\1_CourriersNotesinternesBenvRapports\11_Etat_classement_courriers\2013\" & Annee & "\" & NomFinalDoc

DoCmd.OutputTo acOutputReport, stDocName, acFormatSNP, CheminExport


End Function

Quand j'envoie cette commande, comme l'état est basé sur une requête qui demande quel mois je désire exporter, j'aimerai pouvoir mettre le mois devant NomfinalDoc en chiffre et dans la fin de mon NomFinalDoc l'indiquer en toute lettre.
J'ai tenté dans ma requête qui sert à fabriquer l'état de rajouter deux colonnes :
Une ou j'ai mis le mois en chiffre et la seconde en toute lettre. J'ai refais ma fonction comme suit :

Function courrierMensExport()
stDocName = "et_suivi_notes_courriers"
champname = "Courrierenvoyes"
Moischiffre = Me.mois
Moislettre = Me.mms
NomFinalDoc = Moischiffre & "_" & champname & "_" & Moislettre & ".snp"
CheminExport = "O:\gestion_espace\DIRECTION_ESPACES_VERTS\1_CourriersNotesinternesBenvRapports\11_Etat_classement_courriers\2013\" & Annee & "\" & NomFinalDoc

DoCmd.OutputTo acOutputReport, stDocName, acFormatSNP, CheminExport


End Function

Et ça beug sur Moischiffre me disant que me.mois n'existe pas alors que dans mon état ce champs existe, donc je pense que ce principe fonctionne lorsque je fais cette manif à partir d'un formulaire où ces champs figurent et que je lance l'état issu du formulaire, par contre un état issu d'une requête directe et d'un état, le système ne trouve pas.
Donc l'idée serait dans ma fonction de créer directement le mois en toute lettre en partant de la date du jour et idem en chiffre ?????
pour obtenir au final ceci : 6_Courrierenvoyes_juin.snp
Voili, voilà
Merci à qui voudra bien m'expliquer

12 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
24 juin 2013 à 14:37
Bonjour,

c'est un peu normal que me.mois ne fonctionne pas dans la fonction car il ne sait pas que me = votre formulaire

Essayez de remplacer Me.mois par
Forms![VotrenomdeFormulaire]![mois]


Cordialement
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
24 juin 2013 à 14:42
Bonjour et merci pour votre réponse rapide, le pb c'est que mon état n'est pas issu d'un formulaire, il est issu d'une requête et la requête d'une table..... donc je ne peux pas donner le nom du formulaire puisqu'il n'y en a pas. Le formulaire que j'utilise pour envoyer mes données ne comporte que des bouton qui servent à faire des impressions, c'est en gros un formulaire d'impression mais il ne comporte pas de date ni rien d'autre ayant un rapport avec l'état que j'envoie.
Merci
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
24 juin 2013 à 16:48
Bonsoir,
finalement j'ai trouvé une solution je vous la transmets, au cas où, on ne sait jamais cela pourrait intéresser qq1 :

Forms![MENU_courrier_départ]![Mois] = InputBox("Veuillez indiquer le mois à exporter")
stDocName = "et_suivi_notes_courriers"
champname = "Courrierenvoyes"
moislettre = Forms![MENU_courrier_départ]![mms]
moischiffre = Forms![MENU_courrier_départ]![Mois]
NomFinalDoc = moischiffre & "_" & champname & "_" & moislettre & ".snp"
CheminExport = "O:\gestion_espace\DIRECTION_ESPACES_VERTS\1_CourriersNotesinternesBenvRapports\11_Etat_classement_courriers\2013\" & Annee & "\" & NomFinalDoc
DoCmd.OutputTo acOutputReport, stDocName, acFormatSNP, CheminExport
Ainsi la liste de tous les courriers expédiés le mois "M" que j'aurais indiqué dans le "inputbox" ira se mettre dans mon répertoire xxx de l'année en cours avec le chiffre devant et en toute lettre à la fin et au milieu l'intitulé du doc.
Voili voilà, c'est peut-être pas la meilleure solution mais une façon détournée qui me mène ou je veux, de toute manière quand j'envoyais mon doc j'indiquais le mois à envoyer via une requête........
Bonne soirée à qui me lira
0
Bonjour ChanMat,
Heureux de t'avoir lu et de savoir que la solution qu'on avait construite ensemble te donne entière satisfaction. Nous nous étions bien amusés.
Pour ce qui est de ta question du jour, la réponse de Thorak est correcte. En fait le mot-clé "Me." ne peut s'utiliser que dans les fonctions intégrées aux formulaires et aux états (Procédures Evènnementielles + Private Sub) et se réfèrent exclusivement à ce formulaire ou cet état. Ainsi utiliser cette référence "Me.Mois" et "Me.Mms" dans un formulaire en se référant à un état ne pourra jamais aboutir; il aurait un appel du genre "Reports!NomDeLetat!NControle", et encore je ne suis même pas certain que ce soit une référence valide.
Pour ce qui est de la solution que tu as trouvée, elle me paraît la bonne. Elle fonctionne, et c'est ce que tu demandes.
Tu pourrais aussi améliorer ton dispositif en intégrant à ton formulaire une zone de texte où l'utilisateur entrerait d'emblée la période (Mois) qu'il veut sélectionner pour le ranger. Et à partir du moment où tu as un contrôle dans ton formulaire indiquant le mois choisi, il n'y a qu'à l'utiliser pour indiquer en même temps la sélection dans la requête et le nom du dossier (ou la partie de référence du fichier) pour le ranger. Il suffit alors de savoir sous quel forme est entrer ce choix et de le convertir en Mois numérique, ou en toute lettre. Après l'écriture "Forms![MENU_courrier_départ]![Mois] = InputBox("Veuillez indiquer le mois à exporter") " devient inutile.
Bonne suite et n'hésite pas à poser d'autres questions.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
25 juin 2013 à 08:26
Bonjour T75,
Heureuse de te retrouver également, alors les grands esprits se rencontrent, car j'ai hier soir justement intégré sur le clic de mon bouton d'export ce que tu dis plus haut, voici la cde totale ferme et définitive, je la met car elle peut servir pour d'autres personnes :
Surclic btn export :
Forms![MENU_courrier_départ]![Mois] = InputBox("Veuillez indiquer le mois à exporter")
DateDoc = Format(Forms!MENU_courrier_départ!export, "yyyy" & "_" & "mm" & "_" & "dd")
stDocName = "et_suivi_notes_courriers"
champname = "Courrierenvoyes"
moislettre = Forms!MENU_courrier_départ!mms
moischiffre = Forms!MENU_courrier_départ!Mois
Annee = Year(Forms!MENU_courrier_départ!export)
NomFinalDoc = moischiffre & "_" & champname & "_" & moislettre & ".snp"
CheminExport = "O:\gestion_espace\DIRECTION_ESPACES_VERTS\1_CourriersNotesinternesBenvRapports\11_Etat_classement_courriers\" & Annee & "\ " & NomFinalDoc
DoCmd.OutputTo acOutputReport, stDocName, acFormatSNP, CheminExport

Donc sur clic je demande le mois à exporter qui va se mettre dans un champs en chiffre et dans un autre converti en lettre,et le reste ce déroule tout simplement et va ou je veux comme je veux et s'appelle comme je le désire, elle est pas belle la vie....... maintenant il faut que je travaille en mode autre que le snp, car mes docs sont envoyés dans d'autres services que le mien et les autres n'ont pas office et ont des difficultés à installer la petite cde qui pourrait leur permettre de lire les docs.snp, donc je vais essayer avec le pdf, par contre je ne me souviens plus comment s'appelle le acformat ??? acformatpdf peut-être ??? je vais tenter ce matin.
Merci
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
25 juin 2013 à 10:31
Cc c'est moi, bonjour, alors j'ai essayé de remplacer snp par pdf pour exporter en pdf et non pas en format snp dans les deux cas :
dans acFormatSNP remplacé par acFormatPDF et .snp par .pdf et .................................................
CA MARCHE PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS, il m'ouvre une fenêtre et me propose plusieurs formats d'exportation mais pas le pdf, alors dois-je télécharger une référence ????? qui me manquerait ?????
Merkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
0
blux Messages postés 26703 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 mars 2025 3 328
25 juin 2013 à 11:03
Salut,

le PDF n'est pas reconnu comme format 'standard' d'exportation...
0
Pourtant les versions récentes de Access (je suis sur A2010) semblent le reconnaître. A tout le moins, "acFormatPDF" figure dans la liste des formats disponibles. Mais comme je n'en ai pas usage, je n'ai pas testé.
0
Bonjour,
Déception parce que j'avais vérifié, et j'avais bien trouvé l'expression "AcFormatPDF" pour exporter en "PDF". Pourquoi?
1) Savoir quelle est ta version de Access? Je suis sur A2010, et "acFormatPDF" est inclus dans la liste des valeurs possibles.
2) Comme tu ne pourras pas changer le format "universel" des documents à lire par tous les ordinateurs de la municipalité, il faut chercher parmi les formats proposés celui qui peut correspondre le mieux. Peut-être "RTF (acFormatRTF)"? Je sais qu'autrefois, avec ma vielle version A2000, c'était celle qui passait le mieux partout, et qui est lue par "Word" .

Pour ce qui est de mon envoi précédent, ce n'est pas exactement ce que je disais. Je ne vois pas l'utilité de faire ouvrir une boite de dialogue InputBox()""..., et je te proposais d'introduire un contrôle indépendant dans ton formulaire de commande qui recueillerait d'emblée le critère de sélection "Mois Choisi". Cela allégerait (un tout petit peu) la procédure, au moins pour les utilisateurs. Mais je n'ai pas vu ton formulaire de commande, et ce n'est peut être pas possible ou pas souhaitable? Ou si tu peux envoyer une capture d'écran via Cjoint.com.

Bon courage, (tu n'es pas du genre à te décourager !)
A te lire.
Je dois partir travailler. Moi aussi!
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
25 juin 2013 à 12:05
VERSION ACCESS 2003 - Voici le lien
https://www.cjoint.com/?3Fzmb5wNQee
0
Bonjour,
Je suis convaincu! Ton formulaire Menu Principal est vraiment très bien et il n'y a pas trop de place pour un contrôle indépendant dont la fonction serait de recevoir la valeur du critère de sélection, d'autant plus qu'il apparaît assez clairement que la question de la Boite de dialogue varie selon le bouton cliqué. Dans ces conditions, il n'y a plus grand chose à dire. En même temps je dois avouer qu'à mes débuts, ne sachant pas utiliser les boite de dialogue système, j'ai développé tout un ensemble de boites personnalisées qui me satisfait complètement et que j'utilise continuellement. C'est aussi pour cela que mon premier réflexe est de penser à récupérer ce type de valeur variable dans un formulaire conçu à cette fin plutôt que dans une boite système.

Pour le reste, as-tu testé ton exportation avec le format "RTF" à défaut du "SNP" ou du "PDF", et comment s'est elle passée? Je ne crois pas, ni possible ni nécessaire, de charger une référence spéciale pour le PDF.
Voilà ce qu'en dit l'assistant du développeur:
"Par exemple, vous pouvez enregistrer un rapport Access avec sa mise en forme dans un document .rtf et ouvrir ce document dans Microsoft Word. "
Au plaisir de te lire.
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
26 juin 2013 à 08:59
Bjr,
Oui j'ai testé mais le résultat n'est pas génial côté présentation va voir le tableau d'absences du bureau que j'ai mis dans ce lien :

https://www.cjoint.com/?3FAiQEiLLh0
Je précise que ce diagramme a été réalisé il y a quelques années grâce aux éléments pris dans le forum et avec l'aide précieuse de personnes comme toi qui se sont investies pour m'aider, tout ça pour dire que ce diagramme pour le réaliser j'ai eu besoin de beaucoup d'aide, mais quel résultat !!!! je gère un total de 52 agents et j'ai un diagramme par unité soit : 7 diagrammes.... alors va mettre ce truc dans WORD, ou un doc txt, xls à la rigueur .....alors je cherche le format car comme je te l'ai dis snp dans mon service c'est ok mais lorsque je dois envoyer mes diagrammes à la DRH et bien je les scan et je les envoies en jpg donc perte de temps car ils sont en A3 à la sortie, et je dois les réduire en photocop les scanner ..............................CA ME GONFLE ..... je vais essayer de dder une mise à jour pour access 2007 mais bon................ des sous y'en a plus mm dans les collectivités................
Chan
0
Bonjour,
J'en étais resté au simple courrier et à des rapports, éventuellement des relevés de comptes. Alors le transfert sur un format comme Word est bien suffisant.
je n'avais imaginé qu'il y avait aussi des tableaux de gestion des personnel. Pour moi, quand j'ai ce genre de choses à faire j'utilise soit directement Excel ou bien avec la combinaison de Access et Excel, càd je stocke mes données sur Access et après les sélections et tripatouillages divers, j'envoie sur Excel où j'ai quelques macros pour la mise en forme. Ce qui évite les difficultés, mais de toutes façons je ne fais rien de bien savant.
Là, Je dois dire que je suis passablement ébahi par ton tableau, et je suis vraiment curieux de savoir comment tu t'y es pris. Si ça ne t'embête pas de partager ton code, je suis vraiment intéressé. Mon adresse :"******** (supprimé par la modération)" (le message ne prenne apparemment pas Arobase)
Bonne suite et bonne journée.
0
chanmat Messages postés 36 Date d'inscription mardi 11 décembre 2012 Statut Membre Dernière intervention 23 juin 2016 1
26 juin 2013 à 16:49
Bonsoir,
Je ne sais plus si j'ai répondu à ton mssg, j'ai eu une journée de "ouf" et je pensais l'avoir fait mais à priori non.
Oui je vais t'envoyer ça mais sous forme de mini-base ainsi tu verras mieux, le souci c'est qu'il faut que j'en créé une vierge et que je mette dedans tables, req, forms, etats, macros et functions? Ce sera vide de tous enregistrements pour alléger, mais tu l'auras par contre il faut que je vois quel outil de compression je vais utiliser......
Dès qu'on me lâche un peu la grappe je m'y mets j'ai enregistré ton mail.
A plus, je te dois bien ça et c'est aussi ma façon de remercier celles et ceux qui m'ont largement aidé à réaliser ce truc.
A très vite
0
Tous mes remerciements.
0