Forms: Utiliser une liste à sélection multiple comme paramètre d'une requête |
Author(s) Dev Ashish |
|
Utiliser une liste à sélection multiple comme paramètre d'une requête.
(Q) Je possède une liste à sélection multiple sur mon formulaire.
J'aimerais passer chaque valeur choisie comme paramètre à une requête.
Comment faire?
(A) Contrairement à une liste simple qui fourni une valeur unique comme
paramètre à une requête, l'option de sélection multiple, MultiSelect, ne
permet pas une utilisation aussi simple. En effet, la liste ne concaténera pas
automatiquement tous les items choisis. Il faut le faire soi-même.
Note: Vous pouvez toujours passer le résultat comme paramètre de la clause
WHERE par l'intermédiaire d'une fonction qui retournera le paramètre, ou un
contrôle, caché, sur un formulaire où on déposera la dite valeur.
Par exemple,
Dim frm As Form, ctl As Control
Dim varItem As Variant
Dim strSQL As String
Set frm = Form!frmMyForm
Set ctl = frm!lbMultiSelectListbox
strSQL = "Select * from Employees where [EmpID]="
For Each varItem In ctl.ItemsSelected
strSQL = strSQL & ctl.ItemData(varItem) & " OR [EmpID]="
Next varItem
strSQL=left$(strSQL,len(strSQL)-12))
|