Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment imprimer que la page encours

14 réponses
Avatar
chris74
Bonjour,
J'ai réalisé une petite BD avec Access 2003.
Après saisie des données via un formulaire, je suis obligé pour imprimer
aujourd'hui d'aller dans les "Etats" trouver la bonne page puis choisir
"Imprimer page X a X".
Comment imprimer que l'état que je vient de saisir directement depuis le
formulaire, en cliquant sur un icône par exemple.
Par avance merci de votre aide.
---------------------------------------------
http://randosallanches.free.fr randonnées gratuites au Pays du Mont-Blanc

10 réponses

1 2
Avatar
Thierry (ze Titi)
Hello chris74 !

Comme ça à première vue, on manque d'infos... Par exemple, il aurait
été bon que tu nous donnes la façon dont tu trouves "la bonne page" !
Mais pourquoi ne pas simplement ouvrir ton état en le filtrant sur
l'enregistrement que tu viens de saisir ?

DoCmd.OpenReport "tonReport", acViewPreview, ,"leChampAFiltrer=" &
taValeur

En ce jour mémorable du mardi 30/10/2007, tu as émis l'idée suivante:
Bonjour,
J'ai réalisé une petite BD avec Access 2003.
Après saisie des données via un formulaire, je suis obligé pour imprimer
aujourd'hui d'aller dans les "Etats" trouver la bonne page puis choisir
"Imprimer page X a X".
Comment imprimer que l'état que je vient de saisir directement depuis le
formulaire, en cliquant sur un icône par exemple.
Par avance merci de votre aide.
---------------------------------------------
http://randosallanches.free.fr randonnées gratuites au Pays du Mont-Blanc


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
chris74
Hello Thierry
Pour trouver la bonne page je clique sur mon état pour visualiser les
états et trouver celui qui correspond a mes données que je viens
d'enregistrer, bien souvent c'est la dernière page.

Donc je peux mettre un filtre sur l'état ? (jamais fait encore)
Sous la forme d'une macro ?
C'est une macro que tu viens de me donner ?
Je dois la positionner oû ?
Merci

"Thierry (ze Titi)" a écrit dans le
message de news:
Hello chris74 !

Comme ça à première vue, on manque d'infos... Par exemple, il aurait été
bon que tu nous donnes la façon dont tu trouves "la bonne page" !
Mais pourquoi ne pas simplement ouvrir ton état en le filtrant sur
l'enregistrement que tu viens de saisir ?

DoCmd.OpenReport "tonReport", acViewPreview, ,"leChampAFiltrer=" &
taValeur

En ce jour mémorable du mardi 30/10/2007, tu as émis l'idée suivante:
Bonjour,
J'ai réalisé une petite BD avec Access 2003.
Après saisie des données via un formulaire, je suis obligé pour imprimer
aujourd'hui d'aller dans les "Etats" trouver la bonne page puis choisir
"Imprimer page X a X".
Comment imprimer que l'état que je vient de saisir directement depuis le
formulaire, en cliquant sur un icône par exemple.
Par avance merci de votre aide.
---------------------------------------------
http://randosallanches.free.fr randonnées gratuites au Pays du Mont-Blanc


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





Avatar
Thierry (ze Titi)
Imaginons que tu crées un bouton pour déclencher l'ouverture de ton
état. Lors de la création du bouton, tu vas pouvoir grâce à l'assistant
bouton créer un bouton qui va ouvrir l'état que tu souhaites. Par
contre, celui-ci sera ouvert sans filtre. Mais on peut modifier
facilement cet état de fait.
Lorsque le bouton a été crée et que tu es sur ton formulaire en mode
création, fais un clic droit sur le bouton et sélectionne l'option
"Créer code évènement".
Tu vas alors avoir l'éditeur VBA (appelé VBE pour Visual Basic Editor)
qui s'ouvre. Le code affiché sera du style:

Option Compare Database

Private Sub Commande0_Click()
On Error GoTo Err_Commande0_Click

Dim stDocName As String

stDocName = "nomDeLEtat"
DoCmd.OpenReport stDocName, acPreview

Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click

End Sub

Il te faut prendre en compte le fait que stDocName contient le nom de
l'état à ouvrir, il te faudra donc remplacer le nom entre guillemet par
celui de ton état.
stDocName="nomDeLEtat"

Ensuite, il te faut spécifier le filtre lors de l'ouverture de l'état.
Pour cela, tu vas ajouter le code suivant juste après "Dim stDocName"

Dim strFilter As String
strFilter = "unChamp=" & laValeurDeFiltre

Dans la seconde ligne donnée, tu dois remplacer 'unChamp' par le nom du
champ sur lequel tu veux filtrer ton état et 'laListeDéroulante' par le
contrôle de ton formulaire contenant la valeur qui permettra de filtrer
l'état. En l'occurence, il serait idéal que 'unChamp' corresponde au
nom de l'identifiant de la source de l'état (et par conséquent que
'laValeurDeFiltre' soit l'identifiant de l'enregistrement nouvellement
créé).

Enfin, il faudra modifier la ligne
DoCmd.OpenReport stDocName, acPreview

en
DoCmd.OpenReport stDocName, acPreview, , strFilter


Dans ton message <47273853$0$25921$ du mardi
30/10/2007 jour de Saint Bienvenue, tu as pris l'initiative de nous
narrer les faits suivants:
Hello Thierry
Pour trouver la bonne page je clique sur mon état pour visualiser les
états et trouver celui qui correspond a mes données que je viens
d'enregistrer, bien souvent c'est la dernière page.

Donc je peux mettre un filtre sur l'état ? (jamais fait encore)
Sous la forme d'une macro ?
C'est une macro que tu viens de me donner ?
Je dois la positionner oû ?
Merci

"Thierry (ze Titi)" a écrit dans le message
de news:
Hello chris74 !

Comme ça à première vue, on manque d'infos... Par exemple, il aurait été
bon que tu nous donnes la façon dont tu trouves "la bonne page" !
Mais pourquoi ne pas simplement ouvrir ton état en le filtrant sur
l'enregistrement que tu viens de saisir ?

DoCmd.OpenReport "tonReport", acViewPreview, ,"leChampAFiltrer=" &
taValeur

En ce jour mémorable du mardi 30/10/2007, tu as émis l'idée suivante:
Bonjour,
J'ai réalisé une petite BD avec Access 2003.
Après saisie des données via un formulaire, je suis obligé pour imprimer
aujourd'hui d'aller dans les "Etats" trouver la bonne page puis choisir
"Imprimer page X a X".
Comment imprimer que l'état que je vient de saisir directement depuis le
formulaire, en cliquant sur un icône par exemple.
Par avance merci de votre aide.
---------------------------------------------
http://randosallanches.free.fr randonnées gratuites au Pays du Mont-Blanc


-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



Avatar
chris74
Bonjour
Merci Thierry pour ton aide.
Voila j'ai fait ce que tu m'a dis mais je suis coincé sur la "Valeur" du
filtre.
Mon champ a filtrer est la date de création et pour la valeur je voudrai
mettre la plus récente ou la dernière, mais je ne connais pas le code.
Je joins ci-dessous le " Code évènement" que j'ai créé :

Private Sub Commande88_Click()
On Error GoTo Err_Commande88_Click

Dim stDocName As String
Dim strFilter As String
strFilter = "Date=" & derniere

stDocName = "Réclamations"
DoCmd.OpenReport stDocName, acPreview, , strFilter

Exit_Commande88_Click:
Exit Sub

Err_Commande88_Click:
MsgBox Err.Description
Resume Exit_Commande88_Click

End Sub

Merci
------------------------------
"Thierry (ze Titi)" a écrit dans le
message de news:
Imaginons que tu crées un bouton pour déclencher l'ouverture de ton état.
Lors de la création du bouton, tu vas pouvoir grâce à l'assistant bouton
créer un bouton qui va ouvrir l'état que tu souhaites. Par contre,
celui-ci sera ouvert sans filtre. Mais on peut modifier facilement cet
état de fait.
Lorsque le bouton a été crée et que tu es sur ton formulaire en mode
création, fais un clic droit sur le bouton et sélectionne l'option "Créer
code évènement".
Tu vas alors avoir l'éditeur VBA (appelé VBE pour Visual Basic Editor) qui
s'ouvre. Le code affiché sera du style:

Option Compare Database

Private Sub Commande0_Click()
On Error GoTo Err_Commande0_Click

Dim stDocName As String

stDocName = "nomDeLEtat"
DoCmd.OpenReport stDocName, acPreview

Exit_Commande0_Click:
Exit Sub

Err_Commande0_Click:
MsgBox Err.Description
Resume Exit_Commande0_Click

End Sub

Il te faut prendre en compte le fait que stDocName contient le nom de
l'état à ouvrir, il te faudra donc remplacer le nom entre guillemet par
celui de ton état.
stDocName="nomDeLEtat"

Ensuite, il te faut spécifier le filtre lors de l'ouverture de l'état.
Pour cela, tu vas ajouter le code suivant juste après "Dim stDocName"

Dim strFilter As String
strFilter = "unChamp=" & laValeurDeFiltre

Dans la seconde ligne donnée, tu dois remplacer 'unChamp' par le nom du
champ sur lequel tu veux filtrer ton état et 'laListeDéroulante' par le
contrôle de ton formulaire contenant la valeur qui permettra de filtrer
l'état. En l'occurence, il serait idéal que 'unChamp' corresponde au nom
de l'identifiant de la source de l'état (et par conséquent que
'laValeurDeFiltre' soit l'identifiant de l'enregistrement nouvellement
créé).

Enfin, il faudra modifier la ligne
DoCmd.OpenReport stDocName, acPreview

en
DoCmd.OpenReport stDocName, acPreview, , strFilter


Dans ton message <47273853$0$25921$ du mardi
30/10/2007 jour de Saint Bienvenue, tu as pris l'initiative de nous narrer
les faits suivants:
Hello Thierry
Pour trouver la bonne page je clique sur mon état pour visualiser les
états et trouver celui qui correspond a mes données que je viens
d'enregistrer, bien souvent c'est la dernière page.

Donc je peux mettre un filtre sur l'état ? (jamais fait encore)
Sous la forme d'une macro ?
C'est une macro que tu viens de me donner ?
Je dois la positionner oû ?
Merci

"Thierry (ze Titi)" a écrit dans le
message de news:
Hello chris74 !

Comme ça à première vue, on manque d'infos... Par exemple, il aurait été
bon que tu nous donnes la façon dont tu trouves "la bonne page" !
Mais pourquoi ne pas simplement ouvrir ton état en le filtrant sur
l'enregistrement que tu viens de saisir ?

DoCmd.OpenReport "tonReport", acViewPreview, ,"leChampAFiltrer=" &
taValeur

En ce jour mémorable du mardi 30/10/2007, tu as émis l'idée suivante:
Bonjour,
J'ai réalisé une petite BD avec Access 2003.
Après saisie des données via un formulaire, je suis obligé pour
imprimer aujourd'hui d'aller dans les "Etats" trouver la bonne page
puis choisir "Imprimer page X a X".
Comment imprimer que l'état que je vient de saisir directement depuis
le formulaire, en cliquant sur un icône par exemple.
Par avance merci de votre aide.
---------------------------------------------
http://randosallanches.free.fr randonnées gratuites au Pays du
Mont-Blanc


-- Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







Avatar
Thierry (ze Titi)
Bonjour chris74 !

Private Sub Commande88_Click()

On Error GoTo Err_Commande88_Click
Dim stDocName As String
Dim strFilter As String

strFilter = "Date=#" & Format(DMax("leChampDate","laTable"),"mm/dd/yyyy") & "#"
stDocName = "Réclamations"
DoCmd.OpenReport stDocName, acPreview, , strFilter

Exit_Commande88_Click:
Exit Sub

Err_Commande88_Click:
MsgBox Err.Description
Resume Exit_Commande88_Click
End Sub

Remplace "leChampDate" par le nom du champ contenant la date dans la table alimentant l'état
Remplace "laTable" par le nom de la table alimentant l'état.

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info
Avatar
chris74
Re Thierry,
Super ! Merci, c'est exactement ce que je voulais, mais j'ai encore un petit
problème.
Le bouton que j'ai créé est situé sur le formulaire et quand je clique
dessus, l'enregistrement que je viens de réaliser n'apparaît pas car mon
formulaire n'est pas fermé, même si je clique sur la disquette pour
l'enregistrer.
Par contre, si je le referme puis clique sur le bouton la c'est bon, je l'ai
bien est uniquement lui.
As tu une petite astuce pour contourner se problème ?
Merci encore

"Thierry (ze Titi)" a écrit dans le
message de news:
Bonjour chris74 !

Private Sub Commande88_Click()

On Error GoTo Err_Commande88_Click
Dim stDocName As String
Dim strFilter As String

strFilter = "Date=#" &
Format(DMax("leChampDate","laTable"),"mm/dd/yyyy") & "#"
stDocName = "Réclamations"
DoCmd.OpenReport stDocName, acPreview, , strFilter

Exit_Commande88_Click:
Exit Sub

Err_Commande88_Click:
MsgBox Err.Description
Resume Exit_Commande88_Click
End Sub

Remplace "leChampDate" par le nom du champ contenant la date dans la table
alimentant l'état
Remplace "laTable" par le nom de la table alimentant l'état.

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info




Avatar
Eric
Bonsoir,

Et si tu mets
DoCmd.RunCommand acCmdSaveRecord
sur la ligne précédant la définition de strFilter="Date=#" & ...

quelquechose comme :

Private Sub Commande88_Click()

On Error GoTo Err_Commande88_Click
Dim stDocName As String
Dim strFilter As String
DoCmd.RunCommand acCmdSaveRecord ' <------- Ici
strFilter = "Date=#" &
Format(DMax("leChampDate","laTable"),"mm/dd/yyyy") & "#"
stDocName = "Réclamations"
DoCmd.OpenReport stDocName, acPreview, , strFilter
' suite du code

Re Thierry,
Super ! Merci, c'est exactement ce que je voulais, mais j'ai encore un petit
problème.
Le bouton que j'ai créé est situé sur le formulaire et quand je clique
dessus, l'enregistrement que je viens de réaliser n'apparaît pas car mon
formulaire n'est pas fermé, même si je clique sur la disquette pour
l'enregistrer.
Par contre, si je le referme puis clique sur le bouton la c'est bon, je l'ai
bien est uniquement lui.
As tu une petite astuce pour contourner se problème ?
Merci encore

"Thierry (ze Titi)" a écrit dans le
message de news:
Bonjour chris74 !

Private Sub Commande88_Click()

On Error GoTo Err_Commande88_Click
Dim stDocName As String
Dim strFilter As String

strFilter = "Date=#" &
Format(DMax("leChampDate","laTable"),"mm/dd/yyyy") & "#"
stDocName = "Réclamations"
DoCmd.OpenReport stDocName, acPreview, , strFilter

Exit_Commande88_Click:
Exit Sub

Err_Commande88_Click:
MsgBox Err.Description
Resume Exit_Commande88_Click
End Sub

Remplace "leChampDate" par le nom du champ contenant la date dans la table
alimentant l'état
Remplace "laTable" par le nom de la table alimentant l'état.

--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
3stone
Bonjour,

"Eric"
| Et si tu mets
| DoCmd.RunCommand acCmdSaveRecord
| sur la ligne précédant la définition de strFilter="Date=#" & ...


Ou bien l'éternel oublié... ;-)

Me.Dirty = False

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Eric
Bonjour Pierre,

Oui, oui mais... cette satanée propriété m'a toujours 'brouillé'
l'esprit ;-)

Bonjour,
Ou bien l'éternel oublié... ;-)

Me.Dirty = False



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
3stone
"Eric"
| cette satanée propriété m'a toujours 'brouillé' l'esprit ;-)


Joli !!

-:)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
1 2