|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 4 ![]() |
Bonjour tout le monde,
Je souhaiterais imprimer 3 états en même temps à partir d'une macro sur Access 2003. Ces états proviennent d'un même formulaire. En ouvrant ces états je dois entrer la même valeur de paramètre (afficher état du 01/08/10 au 31/08/10 par exemple). Je souhaiterais donc créer une macro pour imprimer ces 3 états en même temps en n'entrant qu'une seul fois la valeur paramètre (car celle-ci est la même sur les 3 états). Je n'ai toujours pas trouvé de solution... J'ai essayé de créer une macro en utilisant "DoCmd.OpenReport" pour imprimer les 3 états mais je dois entrer la valeur paramètre pour chaque état. Si quelqu'un/une a la fameuse solution ou une astuce, je suis preneur!!! S'il vous manque des infos/détails pour vous aider, merci de me le dire. Merci d'avance! |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
Il faut que les paramètres soient stocké quelques part. Par exemple créer un formulaire (form1) avec 2 zone de texte (texte1 et Texte2) pour tes 2 paramètres puis dans la commande Openreport utiliser l'option Where ou Filter. Comme ceci : Code :
ChampDate between forms.form1.texte1 ans forms.form1.texte2 Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 4 ![]() |
Merci Loufab de m'aider!! C'est sympa! Je pense qu'on est sur la bonne voie. J'ai fais ce que tu as dit et c'est presque ça.
Mon soucis est que dans mon formulaire j'insert qu'une seule date par ligne (date de la dépense). Ensuite grâce à ce formulaire, j'ai créé 3 états me permettant de voir les dépenses par fournisseur, par chantier et par produit tout ça trier par date. Ce que je souhaiterais réussir à faire, c'est qu'à chaque fin de mois, je puisse imprimer ces 3 états à l'aide d'une macro en rentrant qu'une fois seule les valeurs paramètres (ex: entre date de début et date de fin de l'état). Pour l'instant, lorsque je fais ma macro (en utilisant "DoCmd.OpenReport"), je dois rentrer 3 fois les mêmes dates (ex du 01/08/10 au 31/08/10) car ces états ont la même valeur paramètre venant d'une requête (j'espère que je m'explique bien!!). J'ai essayé de trouver une solution avec Filter et la condition where mais sans succès... D'avance merci encore pour toute aide!! |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
J'ai bien compris ton problème et la réponse est la même. Dans un premier temps il ne faut pas mettre de where dans la requete source de tes états. Dans un second temps chaque commande d'ouverture de l'état doit comporté le where sur les date. L'état fera le reste. Donc 1 formulaire avec les dates (ou autant de paramètres nécessaires) et un bouton declanchant les Openreport avec le Where. Le where est la ligne de code que je t'ai fournie. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 4 ![]() |
Merci Loufab encore!! J'ai fais ce que tu m'as dis et ça marche bien!! Par contre, quand je lance ma macro, je dois toujours rentrer les dates (date début et fin) à chaque ouverture d'un état. Y a t il moyen de ne rentrer qu'une seule fois les paramètres (date début et fin) afin que les 3 états s'impriment avec les bonnes dates (ex : du 01/08/10 au 10/08/10)?
-> Déclenchement de la macro -> entrer les valeurs des 3 états (du 01/08/10 au 10/08/10) 1 seule fois -> Impression des 3 états Merci encore de ton aide Loufab!! |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
1) supprimer la condition Where des sources de tes états. Lorsque tu lances tes états ils doivent tout imprimer sans demander de paramètres à saisir (Date). 2) Créer un formulaire avec les 2 dates à renseigner. Nomme correctement ces 2 controles pour y faire appel plus facilement dans la ligne de commande (docmd.openreport). Exemple : DateDebut, DateFin 3) Ajoute un bouton de commande pour lancer l'impression. Sur l'événement Sur Click de ce bouton fais les appels aux 3 reports en utilisant bien l'option Where. Il ne doit plus te poser de question et imprimer les 3 états avec les bonnes données. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 4 ![]() |
C'est bon, ça marche parfaitement!! Merci encore Loufab pour ton aide et ta patience!!!
Bonne soirée!! |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
Bonjour,
Je me permet de relancer le sujet n'arrivant pas à mes fins. Mon problème est quasi identique, j'essaie d'ouvrir un état en renseignant mes valeurs paramétrables dans un formulaire. 1) J'ai supprimé ma formule originelle dans la requête : >=[date de départ] Et <=[date finale] J'ouvre donc mon état sans paramètres à saisir 2) J'ai crée un formulaire avec deux zones de textes intitulées dated et datef, 3)j'ai crée un bouton d'ouverture d'état avec l'assistant, j'ai donc la commande suivante de créer : Private Sub Commande4_Click() On Error GoTo Err_Commande4_Click Dim stDocName As String stDocName = "Ventes : par agence" DoCmd.OpenReport stDocName, acPreview Exit_Commande4_Click: Exit Sub Err_Commande4_Click: MsgBox Err.Description Resume Exit_Commande4_Click End Sub Et là je bloque un peu... y'a un truc que j'ai pas pigé... je crée la ligne ChampDate between forms.form1.dated ans forms.form1.datef Avec ChampDate : là où se trouve mes valeurs paramètres, j'ai pris soin de renommer le champ de ma requête. form1 est bien le nom de mon formulaire. dated et datef sont bien mes cellules de saisie dans le formulaire. Mais je ne vois pas où mettre cette ligne de code ?? Ni ou est la fonction Where auquel Loufab fait référence ? Je suis sur Access 2003 Merci de votre aide. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 4 ![]() |
up !
|
|
|
01
|
|
|
#10 |
|
Membre confirmé
![]() Alexandre Étudiant Inscription : mars 2012 Messages : 152 ![]() |
Je n'ai pas de réponse a t'apporter mais pour information:
Si tu souhaites des réponses a tes questions, évites de les poser dans un sujet déjà résolu. Certaines personnes, en voyant le tags, pourraient parfaitement de pas venir lire ce qui y est écrit. Je ne peux que t'inviter a creer un nouveau sujet.
__________________
La machine obéit à vos ordres, pas à vos intentions. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com