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

Selectioner une page d'un rapport

5 réponses
Avatar
Michel
Bonjours a tout le monde,

dans un formulaire j'ouvre un rapport, apres ouverture je souhaiterais
slectionner une page precise. Est-ce possible ?

en fait je voudrais recuperer des valeurs pour chaque enregistrements, je
m'explique :

mon code :

DoCmd.OpenReport "monthlyreport", acViewPreview

For I=1 to allPages
MsgBox([Rerport_notes].NAME)
next
mais ca ne marche pas... Je voudrais un messae box me retournant pour chaque
enregistrement le nom d'un textbox.
Setfocus ou page, n'ont pas l'air de fonctionner non plus, ou peut etre via
le query final, mais je ne suis pas assez fort pour ca :o(

Merci d'avance pour vos reponse et votre aide,

Michel.

5 réponses

Avatar
3stone
Salut,

"Michel"
| dans un formulaire j'ouvre un rapport, apres ouverture je souhaiterais
| slectionner une page precise. Est-ce possible ?
|
| en fait je voudrais recuperer des valeurs pour chaque enregistrements, je
| m'explique :


D'abord, on crée un état pour organiser les données "brutes" et
présenter cela à l'impression.
Créer un état pour aller y chercher des données est un cheminement
pour le moins spécial.

Tu dis : récupérer des valeurs pour chaque enregistrements...

mais ces valeurs sont dans la table, et si calcul il y a... on peut
les faire dans une requête!

Alors, c'est quoi le besoin réel ?

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

Le besoin reel est que je genere par exemple un rapport de 40 pages et je
veux les imprimer en pdf page par page avec un nom precis qui ce trouve dans
le rapport...
donc maintenant j'ai mis mon imprimante par defaut sur arobat distiller, et
j'ai cree une boucle sur le rapport page jusqu'a la derniere page
avant d'imprimer je desire faire un message box qui precise a l'utilisateur
quel doit etre le nom de sauvegarde....

Si tu connais un truc pour generer un rapport page par page directement avec
le bon nom... Je suis preneur....

Merci,

@+

Michel.






"3stone" wrote in message
news:Of$
Salut,

"Michel"
| dans un formulaire j'ouvre un rapport, apres ouverture je souhaiterais
| slectionner une page precise. Est-ce possible ?
|
| en fait je voudrais recuperer des valeurs pour chaque enregistrements,
je
| m'explique :


D'abord, on crée un état pour organiser les données "brutes" et
présenter cela à l'impression.
Créer un état pour aller y chercher des données est un cheminement
pour le moins spécial.

Tu dis : récupérer des valeurs pour chaque enregistrements...

mais ces valeurs sont dans la table, et si calcul il y a... on peut
les faire dans une requête!

Alors, c'est quoi le besoin réel ?

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



Avatar
3stone
Salut,

"Michel"
| Le besoin reel est que je genere par exemple un rapport de 40 pages et je
| veux les imprimer en pdf page par page avec un nom precis qui ce trouve dans
| le rapport...
| donc maintenant j'ai mis mon imprimante par defaut sur arobat distiller, et
| j'ai cree une boucle sur le rapport page jusqu'a la derniere page
| avant d'imprimer je desire faire un message box qui precise a l'utilisateur
| quel doit etre le nom de sauvegarde....
|
| Si tu connais un truc pour generer un rapport page par page directement avec
| le bon nom... Je suis preneur....

Créer tout l'état pour l'imprimer par "page" n'est réalisable que par

DoCmd.PrintOut

de la à donner un nom à chaque page...

Mais puisque chaque page est un document (un enregistrement ou groupe par page)
autant générer chaque page individuellement et avoir tout le loisir de nommer
ou renommer ces pages.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Michel
Super,
mais justement (d'ou ma question), on fait comment ?
Je ne connais pas le code pour le faire.. :o(
Merci,
Michel.


"3stone" wrote in message
news:%
Salut,

"Michel"
| Le besoin reel est que je genere par exemple un rapport de 40 pages et
je
| veux les imprimer en pdf page par page avec un nom precis qui ce trouve
dans
| le rapport...
| donc maintenant j'ai mis mon imprimante par defaut sur arobat distiller,
et
| j'ai cree une boucle sur le rapport page jusqu'a la derniere page
| avant d'imprimer je desire faire un message box qui precise a
l'utilisateur
| quel doit etre le nom de sauvegarde....
|
| Si tu connais un truc pour generer un rapport page par page directement
avec
| le bon nom... Je suis preneur....

Créer tout l'état pour l'imprimer par "page" n'est réalisable que par

DoCmd.PrintOut

de la à donner un nom à chaque page...

Mais puisque chaque page est un document (un enregistrement ou groupe par
page)
autant générer chaque page individuellement et avoir tout le loisir de
nommer
ou renommer ces pages.

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




Avatar
3stone
Salut,

"Michel"
| mais justement (d'ou ma question), on fait comment ?
| Je ne connais pas le code pour le faire.. :o(


On fait quoi ? imprimer par page ?

En ne disant rien sur ce que tu as, l'aide ne peut être que superficielle.

Alors supposons...
- Que tu as une table client et que pour chaque client tu veux sortir un état.
- Que le champ ID est l'identifiant clé primaire
- Que tu as une requête "qryClients" qui te donne la liste des clients pour
lequels tu souhaites sortir un état.
- Que l'état se nomme "repClient"


Sur clic d'un bouton par exemple, tu mets quelque chose comme:

Sub ImprimeClients_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("qryClients")

Do While Not rs.EOF
'// imprimer/exporter l'état selon la méthode
'// et en ajoutant la clause Where qui limite à 1 client
DoCmd.OpenReport "repClient", acViewNormal, ,"ID=" & rs!id
DoEvents
'// éventuellement le renommer si le nom est générique
Name "C:EtatClient" As "C:Client_" & rs!id
'// ou
' Name "C:EtatClient" As "C:Cient_'" & rs!NomClient & "'"
DoEvents
rs.MoveNext
Loop

'// on ferme et libère
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing

End Sub


PS:
C'est le principe, que tu devras bien sûr adapter...
Je ne possède pas Acrobat Distiller et ne connais pas son utilisation.

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