Carte du site
 Remerciements
 Netiquette
 Bugs
 Tables
 Requêtes
 Formulaires
 États (rapports)
 Modules
 APIs
 Chaînes
 Date/Time
 Général
 Ressources
 Téléchargeables

 Termes d'usage

États: Utiliser une liste à sélection multiple pour limiter les enregistrements d'un état

Author(s)
Dev Ashish

Utiliser une liste à sélection multiple pour limiter les enregistrements d'un état.

(Q)    Comment limiter l'impression de mon état aux enregistrements que j'ai choisi dans une liste à sélection multiple?

(A)    Une des solutions est d'énumérer la collection  ItemsSelected et de modifier la requête sur laquelle est basée l'état en fonction de ces choix.

    Par exemple, avec une liste (à sélection multiple) sur un formulaire avec un champ texte field txtCriteria. La colonne liée à la liste est un champ de type   Autonumber. Je dispose d'un bouton qui génère la variable Criteria, j'assigne par la suire txtCriteria à cette variable  (purement pour visionnement, car on peut passer la valeur à la requête directement), je modifie la requête SQL, le QueryDef, et j'ouvre la requête elle-même. Le code ressemble à quelque chose comme:

'************ Code Start **********
Private Sub btnTestQuery_Click()
Dim vItm As Variant
Dim stWhat As String
Dim stCriteria As String
Dim stSQL As String
Dim loqd As QueryDef

    stWhat = "":    stCriteria = ","
    For Each vItm In Me!mslbxTest.ItemsSelected
        stWhat = stWhat & Me!mslbxTest.ItemData(loItm)
        stWhat = stWhat & stCriteria
    Next vItm
    Me!txtCriteria = CStr(left$(stWhat, Len(stWhat) - Len(stCriteria)))
    Set loqd = CurrentDb.QueryDefs("qryMultiSelTest")
    stSQL = "SELECT EmployeeID, LastName, FirstName, TitleOfCourtesy, "
    stSQL = stSQL & "Title FROM Employees WHERE EmployeeID"
    stSQL = stSQL & " IN (" & Me!txtCriteria & ")"
    loqd.SQL = stSQL
    loqd.Close
    DoCmd.OpenQuery "qryMultiSelTest"
End Sub
'************ Code End  **********

© 1998-2001, Dev Ashish, All rights reserved. Optimized for Microsoft Internet Explorer