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

Pb Sauvegarde etat rtf

4 réponses
Avatar
fbu78
Bonjour,

J'ai une requête (R_Comptes), qui me permet de générer un état (E_Compte)
contenant 1 page par compte-client ("compte").J'aimerai sauvegarder les pages
de cet état en rtf, mais de façon isolée. C'est à dire :
- compte1.rtf
- compte2.rtf
...

Pour l'instant, je n'arrive qu'à sauvegarder l'ensemble de l'état, avec la
fonction :
Code :

DoCmd.OutputTo acOutputReport, "E_Compte", acFormatRTF

Comment faire pour sauvegarder chaque élément du résultat de ma requête ?

Merci d'avance.
A+

4 réponses

Avatar
3stone
Salut,

"fbu78"
| J'ai une requête (R_Comptes), qui me permet de générer un état (E_Compte)
| contenant 1 page par compte-client ("compte").J'aimerai sauvegarder les pages
| de cet état en rtf, mais de façon isolée. C'est à dire :
| - compte1.rtf
| - compte2.rtf
| ...
|
| Pour l'instant, je n'arrive qu'à sauvegarder l'ensemble de l'état, avec la
| fonction :
| Code :
|
| DoCmd.OutputTo acOutputReport, "E_Compte", acFormatRTF
|
| Comment faire pour sauvegarder chaque élément du résultat de ma requête ?


- une fonction VBA qui boucle sur le recordset et crée un état par enregistrement

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
fbu78
Merci pour cet élément de réponse. Mais est-ce que tu pourrais me préciser la
manière dont tu écrairais cette boucle, car là je ne vois pas comment faire ?

Merci d'avance.

fbu78


Salut,

"fbu78"
| J'ai une requête (R_Comptes), qui me permet de générer un état (E_Compte)
| contenant 1 page par compte-client ("compte").J'aimerai sauvegarder les pages
| de cet état en rtf, mais de façon isolée. C'est à dire :
| - compte1.rtf
| - compte2.rtf
| ...
|
| Pour l'instant, je n'arrive qu'à sauvegarder l'ensemble de l'état, avec la
| fonction :
| Code :
|
| DoCmd.OutputTo acOutputReport, "E_Compte", acFormatRTF
|
| Comment faire pour sauvegarder chaque élément du résultat de ma requête ?


- une fonction VBA qui boucle sur le recordset et crée un état par enregistrement

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






Avatar
3stone
Salut,

"fbu78"
| Merci pour cet élément de réponse. Mais est-ce que tu pourrais me préciser la
| manière dont tu écrairais cette boucle, car là je ne vois pas comment faire ?


Sur clic d'un bouton, par exemple...

Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Cdir As String

Set Db = CurrentDb
Set Rs = Db.OpenRecordset("R_Comptes")
Cdir = CurrentProject.Path

Do Until Rs.EOF
With DoCmd
.OpenReport "E_Compte", acViewPreview, , "[Compte]='" & Rs!Compte & "'", acHidden
.OutputTo acOutputReport, "E_Compte", acFormatRTF, Cdir & "" & Rs!Compte & ".rtf"
.Close acReport, "E_Compte", acSaveNo
End With
Rs.MoveNext
Loop

Set Rs = Nothing
Set Db = Nothing


Cela te sauve les "pages" dans le répertoire de la base...

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

J'ai trouvé aussi une solution en utilisant WHILE NOT /WEND

Je pense qu'on pouvait le faire de +sieurs manières, tout en arrivant au
même résultat !

A+


Salut,

"fbu78"
| Merci pour cet élément de réponse. Mais est-ce que tu pourrais me préciser la
| manière dont tu écrairais cette boucle, car là je ne vois pas comment faire ?


Sur clic d'un bouton, par exemple...

Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Cdir As String

Set Db = CurrentDb
Set Rs = Db.OpenRecordset("R_Comptes")
Cdir = CurrentProject.Path

Do Until Rs.EOF
With DoCmd
.OpenReport "E_Compte", acViewPreview, , "[Compte]='" & Rs!Compte & "'", acHidden
.OutputTo acOutputReport, "E_Compte", acFormatRTF, Cdir & "" & Rs!Compte & ".rtf"
.Close acReport, "E_Compte", acSaveNo
End With
Rs.MoveNext
Loop

Set Rs = Nothing
Set Db = Nothing


Cela te sauve les "pages" dans le répertoire de la base...

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