Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2011, 18h27   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
Par défaut Imprimer plusieurs états avec même valeur parametre

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!
benji2929 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2011, 16h59   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
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
ou ChampDate est le nom de ton champ du report.

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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2011, 18h41   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
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!!
Fichiers attachés
Type de fichier : doc Ecran.doc (289,5 Ko, 3 affichages)
benji2929 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 09h29   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 13h15   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
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!!
benji2929 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 09h05   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 21h11   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 0
Points : 0
C'est bon, ça marche parfaitement!! Merci encore Loufab pour ton aide et ta patience!!!
Bonne soirée!!
benji2929 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2012, 21h35   #8
Invité de passage
 
Inscription : août 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 4
Points : 2
Points : 2
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.
fdejust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2012, 10h09   #9
Invité de passage
 
Inscription : août 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 4
Points : 2
Points : 2
up !
fdejust est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/05/2012, 10h17   #10
Membre confirmé
 
Avatar de Flyoss
 
Homme Alexandre
Étudiant
Inscription : mars 2012
Messages : 152
Détails du profil
Informations personnelles :
Nom : Homme Alexandre
Âge : 22
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mars 2012
Messages : 152
Points : 271
Points : 271
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.
Flyoss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h20.


 
 
 
 
Partenaires

Hébergement Web