Bonjour
je rame un peu (beaucoup) en VB et je cherche a la suite d'une date saisie dans une Inputbox
- ouvrir un état en impression directe filtré par la date entrée dans l'Inputbox
- sauvegarder cet état en PDF avec comme nom la date rentrée dans l'inputbox.pdf
- envoyer cet etat (donc ce PDF) par Email
J'ai posé une question dans ce sens dans la section IHM mais il me semble que cette question est plus appropriée dans la section VB...
Actuellement mon code est celui ci :
mais autant l'etat imprimé est filtré, autant les deux autres (celui sauvegardé et celui mailer) ne le sont pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ' créé le fichier PDF d'apres le nom de l'etat choisi Dim NmFichier As String 'Nom du fichier Dim dateselection As Date Dim DateTemp As Date dateselection = InputBox("Entrez la date :") DoCmd.OpenReport "MonEtat", , , "cdbl([Date])=" & CDbl(dateselection) NmFichier = "Liste des Soumissions du" & "_" & dateselection & ".pdf" DoCmd.OutputTo acOutputReport, "MonEtat", acFormatPDF, "c:\" & NmFichier, True 'envoie le fichier choisi à la personnes déterminée par le lien DoCmd.SendObject acSendReport, "MonEtat", acFormatPDF, "destinataire@fai.fr", , , "Liste du ", "Veuillez trouver ci joint ...... pour la journée du ", False While CurrentProject.AllReports("MonEtat").IsLoaded DoEvents Wend DoCmd.RunSQL "Delete * From TableTempoDateImpression where DateTemp=" & dateselection
Du reste, cela cause uen erreur et le save en PDF ne se fait pas car le fichier non filtré donne un état trop volumineux (avec un etat plus petit le save se fait mais toujours sans tenir compte du filtre)
J'ai trouvé cette discution ou la personne dit:
Puis elle donne du code...mais j'avoue ne rien y comprendre
quelqu'un peut il m'aider à adapter cela a mon cas ?
ce que je comprends d'apres les explications de la personne, c'est que une fois que le report est Open, plus besoins de specifier d'argument, il devrait se baser sur le report Open dans l'etat avec la selection faite au moment de l'ouverture ???? Mais il semble ne s'ouvrir que sans tenir compte de cet argument car si je ne specifie pas d'objet dans la methode DoCmd.OutputTo, j'ai un message d'erreur qui me dit que "l'action ou la methode nécessite un argument type d'objet, et pourtant dans la méthode DoCmd.OutputTo expliquée dans le Help, l'objet est decris comme facultatif...
Quelqu'un pourrait il m'aider.
par avance merci
Partager