Bonjour,
Voila j'ai crée une zone de liste dans laquelle j'affiche le résultat de ma requête.
Je voudrai imprimer le contenu de cette zone liste. Comment faire?
Merci.
Vince
Bonjour,
Voila j'ai crée une zone de liste dans laquelle j'affiche le résultat de ma requête.
Je voudrai imprimer le contenu de cette zone liste. Comment faire?
Merci.
Vince
salut
tu peux utiliser la même requete dans un état qui sera lancé par un bouton a cote de ta zone de liste.
je comprend ce que tu veu dire, mais niveau code, je sui un peu perdu.
Tu n'aurai pas un exemple par hasard.
Merci.
tu vas dans état et tu crée ton état à partir de ta requête
la ou tu as ta zône de liste tu crée un bouton
en mode création tu clic droit et dans proriété tu clic sur les trois petits points ... de "Sur clic" (en bout de ligne) dans l'onglet Evénement
tu choisis de faireun macro
tu as une liste de possibilité de macro automatique
là tu choisis ouvrir état
tu choisi ton état et tu choisis si tu le veux en mode aperçu ou impression direct
et puis ça devrait être bon
une variante :
tu passes la requete de ta zone de liste en openArgs qui deviendra la source de ton état :
code pour le bouton qui ouvre l'état:
sur l'évènement ouverture de l'état :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Commande10_Click() Dim sql As String sql = Me.MaZoneDeListe.RowSource Debug.Print sql DoCmd.OpenReport "MonEtat", acViewPreview, , , , sql End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Report_Open(Cancel As Integer) Me.RecordSource = OpenArgs End Sub
Bonjour,
C'est bien le code que je cherchais, mais je rencontre une erreur.
Au niveau du "OpenArgs", il m'indique l'erreur variable non définie".
Comment dois-je déclarer "openargs"?
D'avance merci.
Vince
tu dois avoir une erreur dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.OpenReport "MonEtat", acViewPreview, , , , sql
en effet j'avais une rreur là que j'avais déjà corrigé.
Le problème vient de "OpenArgs" à l'ouverture de l'état avec l'erreur " l'erreur variable non définie"
Voyez vous d'où ça pe venir?
Encore merci.
Vince
tu peux nous donner le code qui lance l'état et celui à l'ouverture de l'état ?
oui pas de problème :
voici le code au click sur le bouton dans le formulaire :
et voici le code à l'ouverture de l'état :Private Sub cmdimp_Click()
Dim sql As String
sql = Me.Liste5.RowSource
'MsgBox sql
DoCmd.OpenReport "reqecheance", acViewPreview, , sql
End Sub
Private Sub Report_Open(Cancel As Integer)
Me.RecordSource = OpenArgs
End Sub
Merci de votre aide
il manque des virgules
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.OpenReport "reqecheance", acViewPreview, , , , sql
Non je pense pas qu'il me manque de virgule puisque quand je commence la saisie, il me montre les paramtres attendue et après le "acViewPreview", il attend juste un "filtre" et la clause "where".
sachant que dans la clause "where" j'ai mis la requête de ma zone de liste , et la requete est :
Ou alors il manquerait une référence dans le projet? mais laquelle??req = "SELECT * FROM Identifiant WHERE DATFIN <= #" & Texte1.Text & "# order by profil;"
'Affichage dans la listye du résultat de la requête
Liste5.RowSource = req
j'ai oublié de précise pe etre, mais je travaille sous access 97
Merci.
OpenArgs est le 6ème argument de openReport donc faut bien 4 virgules.
Essaye et tu verras
je te crois, mais moi ça marche pas, si je met 4 virgule, il me met un message d'erreur comme quoi le nombre d'argument est incorrect. Dans mon code, lorsque j'utilise "docmd.openreport", il me demande que 4 arguments.
Il existe une référence particulière pour le "Openargs"??
Merci
oui mais dans la clause where il attend une clause where, pas une requête complètedans la clause "where" j'ai mis la requête
la source des données est paramétré dans l'état, tu ne peux que passer les filtres en paramètre
ah ok.
autrement, je vien de voir sur un autre forum comme quoi la fonction OpenArgs ne fonctionne avec les états qu'à partir de access 2002.
C'est vrai?
Salut,
j'ai une autre solution tu modifie par SQL une requête.
Tu créer un état basé sur une requête et tu modifie cette requête par un bouton en fonction de ta zone de liste puis tu ouvre ton état.
chsql => Correspond à ton SQL de ta zone de liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set req = CurrentDb.QueryDefs("MaRequete") req.sql = Me.MaZoneDeListe.RowSource
je vois a peu près ce que tu veu dire.
voici mon code :
lorsque j'exécute il me dit 'Item not found in this collection".Dim qdf As New QueryDef
Set qdf = CurrentDb.QueryDefs("MaRequete")
qdf.sql = Me.Liste5.RowSource
est-ce que je peu créer un état avec une simple sélection de la table et dans le code à l'ouveture de l'état, je lui indique
"monetat.RowSource = MonFomr.MaZoneListe.RowSource"
Encore merci.
re,
il faut bien créer ta requête avant que tu appel "MaRequete" et ensuite tu exécute le code, si la req n'éxiste pas c'est normale qu'il te mette une erreur. Pour la création de ta requête tu mets n'importe quelle table dedans elle sera modifié lors de ta prochaine éxécution du code.
Merci beaucoup, c'est parfait.
Il me reste plus qu'à faire le code pour modifier tous les enregistrements de la zone de liste par une valeur rentré par l'utilisateur.
Encor merci.
Partager