OVH Cloud OVH Cloud

Modifier une Zone de Liste

4 réponses
Avatar
Luc
Bonjour,

Comment fait-on pour changer le rowsource d'une zone de
liste. Je veux qu'=E0 chaque fois que je change
d'enregistrement, le contenu de la liste soit modifi=E9.

Par exemple, dans un formulaire Acteurs, j'aimerais avoir
les films de l'acteur en cours. J'ai essay=E9 avec un
querydefs avec la propri=E9t=E9 Parameters pour envoyer le ID
de l'acteur afin de s=E9lectionner les films qui
correspondent dans ma table FilmsActeurs puis
liste.rowsource =3D rs!titre.

Voici mon code si vous pouvez m'aider

Dim db As Database 'Base de donn=E9e actuelle
Dim qdf As QueryDef
Dim rs As Recordset 'Recordset sur table de recherche
Set db =3D CurrentDb
Set qdf =3D db.QueryDefs("ReqFilmsActeurs")
qdf.Parameters("AcID").Value =3D Me.ChaActeurID.Value
Set rs =3D qdf.OpenRecordset()
Me.zdlListe.RowSource =3D rs!titre

4 réponses

Avatar
3stone
Salut,

"Luc"
Comment fait-on pour changer le rowsource d'une zone de
liste. Je veux qu'à chaque fois que je change
d'enregistrement, le contenu de la liste soit modifié.

Par exemple, dans un formulaire Acteurs, j'aimerais avoir
les films de l'acteur en cours. J'ai essayé avec un
querydefs avec la propriété Parameters pour envoyer le ID
de l'acteur afin de sélectionner les films qui
correspondent dans ma table FilmsActeurs puis
liste.rowsource = rs!titre.


Non, simplement en fournissant la "phrase" SQL


Me.zdlListe.RowSource = "Select ... From LaTable Where ID=" & Me.ID

LaTable peut aussi être une requête...

A+
Pierre(3stone)
Avatar
Ca ne marche pas
-----Message d'origine-----
Salut,

"Luc"
Comment fait-on pour changer le rowsource d'une zone de
liste. Je veux qu'à chaque fois que je change
d'enregistrement, le contenu de la liste soit modifié.

Par exemple, dans un formulaire Acteurs, j'aimerais avoir
les films de l'acteur en cours. J'ai essayé avec un
querydefs avec la propriété Parameters pour envoyer le ID
de l'acteur afin de sélectionner les films qui
correspondent dans ma table FilmsActeurs puis
liste.rowsource = rs!titre.


Non, simplement en fournissant la "phrase" SQL


Me.zdlListe.RowSource = "Select ... From LaTable Where
ID=" & Me.ID


LaTable peut aussi être une requête...

A+
Pierre(3stone)

.



Avatar
3stone
Avatar
Moh
J'avais le meme prob mais avec le code suivant par exemple ca marche tres bien:

Private Sub ValiderSaisiePPA_Click()
Dim sngVal As Single

sngVal = SaisiePPA.Value

strSQL = "SELECT ApproMedicamentsDetails.PPA, ApproMedicamentsDetails.LOT,
ApproMedicamentsDetails.PER, TblMedicaments.idmedic, TblMedicaments.[Nom
Comm], TblMedicaments.Dosage, ParamFormeMedic.Forme, TblMedicaments.Condit" &
_
" FROM ParamFormeMedic INNER JOIN (ApproMedicamentsDetails INNER JOIN
TblMedicaments ON ApproMedicamentsDetails.IdMedic = TblMedicaments.IDMedic)
ON ParamFormeMedic.IdFM = TblMedicaments.IDFM" & _
" WHERE (((ApproMedicamentsDetails.PPA)=" & sngVal & "));"

ListeLot.RowSource = strSQL

End Sub

(SaisiePPA est une zone de texte, ValiderSaisiePPA est un bouton de
commande, listeLot est la zone de liste)

Maintenant pour votre cas il faut verifier la requete, un guillemet oublie
et ca marche pas (ca m'est arrive).
Il faut nous donner aussi l'evenement ou est implemente le code.

@+


Bonjour,

Comment fait-on pour changer le rowsource d'une zone de
liste. Je veux qu'à chaque fois que je change
d'enregistrement, le contenu de la liste soit modifié.

Par exemple, dans un formulaire Acteurs, j'aimerais avoir
les films de l'acteur en cours. J'ai essayé avec un
querydefs avec la propriété Parameters pour envoyer le ID
de l'acteur afin de sélectionner les films qui
correspondent dans ma table FilmsActeurs puis
liste.rowsource = rs!titre.

Voici mon code si vous pouvez m'aider

Dim db As Database 'Base de donnée actuelle
Dim qdf As QueryDef
Dim rs As Recordset 'Recordset sur table de recherche
Set db = CurrentDb
Set qdf = db.QueryDefs("ReqFilmsActeurs")
qdf.Parameters("AcID").Value = Me.ChaActeurID.Value
Set rs = qdf.OpenRecordset()
Me.zdlListe.RowSource = rs!titre