Bonjour,
J'imprime (aperçus) des états ainsi :
Il peut arriver que des états soient vides alors j'ai mis ceci dans les états :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DoCmd.OpenReport ("BC_REG1"), acPreview DoCmd.OpenReport ("BC_REG2"), acPreview .... (liste de tous les autres états
Cela marche parfaitement. Mais suite à tous les aperçus. Je souhaite stocker tous les états sous un format PDF. Donc j'ai mis ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Report_NoData(Cancel As Integer) MsgBox "rien à imprimer", vbExclamation, "INFO" Cancel = True End Sub
Mais lors de l'éxécution, en toute logique, il me remet le message "rien à imprimer" lorsque un état est vide. Donc si en aperçu, j'ai 5 états vide, j'obtiens 5 fois "rien à imprimer" puis ensuite pour la génération des pdf, j'obtiens de nouveau 5 fois "rien à imprimer".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Chemin = "C:\envoiFTP\archives\Les_BC\" & CLIENT & "_REG1_" & REFBC & ".pdf" DoCmd.OutputTo acOutputReport, "BC_REG1", "PDFFormat(*.pdf)", Chemin, False, "", 0 Chemin = "C:\envoiFTP\archives\Les_BC\" & CLIENT & "_REG2_" & REFBC & ".pdf" DoCmd.OutputTo acOutputReport, "BC_REG2", "PDFFormat(*.pdf)", Chemin, False, "", 0 ... (suite avec tous les autres états)
Je trouve que c'est contraignant pour l'utilisateur. Y aurait-il un moyen pour que le code d'impression des PDF ne se lance que si les aperçus ont donné un résultat.
Je pensais à valoriser une variable du genre :
Mais je ne sais pas s'il possible de gérer qq chose dans ce genre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If DoCmd.OpenReport ("BC_REG1"), acPreview = True Then BC1="Ok pour PDF" .....
Merci pour votre aide
Thibault
Partager