---Soumis par 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,
'******************** Code Start ************************ 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]=" 'On suppose que la valeur de type long, [EmpID], est le champ contre 'lequel on se comparera aux valeurs choisies dans la 'liste à choix multiple For Each varItem In ctl.ItemsSelected strSQL = strSQL & ctl.ItemData(varItem) & " OR [EmpID]=" Next varItem 'Enlever le dernier segment strSQL=left$(strSQL,len(strSQL)-12)) '******************** Code end ************************