Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 14h45   #1
Invité de passage
 
Inscription : juin 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 5
Points : 0
Points : 0
Par défaut Génération pdf access vba

Bonjour,

Je suis en train de faire une macro qui me génère des pdf en fonction d'un etat existant et je souhaiterai avoir un pdf pour une page de mon état et non pas un pdf avec toutes les pages de mon état correspondante.
Pour cela j'utilise un recordset pour parcourir mes enregistrement mais je n'arrive pour le moment qu'à générer le nombre exacte de pdf correpondant a mon recordcount mais avec tout les contrôles. (2 enregistrement = 2 pdf de 2 page au lieu de 2 pdf de 1 page).
voilà le code que j'utilise (travail sous vba access 2007)

Code :
1
2
3
4
5
6
7
8
9
Set rst = db.OpenRecordset("SELECT * FROM DATAMART_TERR WHERE (CTRL_SERVICE = 'PhM' AND Controle_Conforme = '0') AND (CTRL_DATE BETWEEN #" & DebutPeriode & "# And #" & FinPeriode & "#)" )
    While Not rst.EOF
        semaine = DatePart("ww", Date, vbMonday, vbFirstFourDays) - 1
        indic = indic + 1
        strEtat = "ETAT_Enquete_terrain"
        gstrReportFilter = "([CTRL_SERVICE] = 'PhM' AND [Controle_Conforme] = '0') AND ([CTRL_DATE] BETWEEN #" & DebutPeriode & "# And #" & FinPeriode & "#)"
        DoCmd.OutputTo acOutputReport, strEtat, acFormatPDF, "U:\document\doc\PDF_\test_" & indic & "Terrain_PhM_" & semaine & ".pdf"
        rst.MoveNext
   Wend
merci par avance
ermorazor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 19h04   #2
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
hello
bien sûr, la fonction outputTo ne comporte pas de filtre.
tu dois donc avoir:
- soit une requête qui sélectionne un seul enregistrement et qui est la source de l'état (pour lui passer la valeur, tupeux utiliser une textbox éventuellement invisible)
- tu peux aussi récupérer le SQL de cette requête, le bricoler par VB, et l'attribuer comme source de l'état avant l'export
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 23h07   #3
Membre éprouvé
 
Avatar de ypicot
 
Inscription : mai 2004
Messages : 369
Détails du profil
Informations personnelles :
Âge : 48

Informations forums :
Inscription : mai 2004
Messages : 369
Points : 428
Points : 428
Tu peux aussi ouvrir ton état (en mode invisible), puis l'exporter en pdf, puis le refermer.

En gros :
Code :
1
2
3
4
gstrReportFilter = "([CTRL_SERVICE] = 'PhM' AND [Controle_Conforme] = '0') AND ([CTRL_DATE] BETWEEN #" & DebutPeriode & "# And #" & FinPeriode & "#)"
DoCmd.OpenReport strEtat, acVeiwPreview, , gstrReportFilter, acHidden
DoCmd.OutputTo acOutputReport, strEtat, acFormatPDF, "U:\document\doc\PDF_\test_" & indic & "Terrain_PhM_" & semaine & ".pdf"
DoCmd.close acReport, strEtat
Yvan
__________________
Une solution n'est valable que dans un contexte donné
ypicot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h52.


 
 
 
 
Partenaires

Hébergement Web