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 26/11/2011, 21h26   #1
Invité de passage
 
Femme Oriane Riviere
Auditeur informatique
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Femme Oriane Riviere
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Auditeur informatique
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Impression états sous pdf par regroupement



Besoin de votre aide .....help....help
Voilà je souhaite imprimer ou exporter en format PDF mon état access mais seulement à la maille de mes regroupements.

Je m'explique mon état "Commandes" recense l'ensemble des commandes de mes clients sur l'année 2010, je veux pouvoir exporter/imprimer sous PDF ce même état mais regroupé par code client. En sortie, je devrai obtenir un fichier PDF par code client.

J'ai écrit une procédure VBA (procédure évenementielle à partir du contrôle "ETAT" /Ouverture") :

Code :
1
2
3
4
5
Dim i As Long
DoCmd.OpenReport "Commandes", acViewPreview
For i = 1 To Reports("Commandes").Pages
    DoCmd.PrintOut acPages, i, i
Next
Mais malheureusement cela ne fonctionne pas du tout car en sortie mon état PDF est global et pas découpé par code client.

Pouvez-vous m'aider s'il vous plaît?

Merci beaucoup
Oriane82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2011, 22h15   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 255
Points : 5 255
Salut,

Il faudrait utiliser une zone de texte sur un formulaire comme paramètre dans la source de ton état, du genre:

Code sql :
1
2
3
SELECT *
FROM Commandes
WHERE CodeClient=Forms!Formulaire1!CodeClient;

Ceci serait la source de ton état "Commandes", et après, tu parcours la liste des CodeClient, et pour chaque CodeClient tu mets à jour la zone de texte du même nom:

Code sur ton formulaire1 (contenant la zone de texte CodeClient: le paramètre de la requête source) qui lance l'impression:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim rst as DAO.RecordSet
 
Set rst=currentdb.OpenRecordSet("select distinct Codeclient From Commandes;")
 
Do Until rst.eof
 
Me!CodeClient=rst!CodeClient ' change le paramètre de la requête source de l'état.
 
DoCmd.OpenReport "Commandes" 'Export en pdf du document pour ce client.
 
rst.MoveNext
Loop
Ou plus simplement avec la table commandes comme source:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim rst as DAO.RecordSet
 
Set rst=currentdb.OpenRecordSet("select distinct Codeclient From Commandes;")
 
Do Until rst.eof
 
DoCmd.OpenReport "Commandes", , , "CodeClient=" & rst!CodeClient
 
rst.MoveNext
Loop
 
Set rst=Nothing
Ici je suppose que tu imprimes en pdf...

Pour la 2ème solution je suis pas trop sur

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web