2017-03-15 3 views
0

J'utilise un champ à plusieurs valeurs pour affecter différents critères à une personne. Ces critères sont regroupés en différentes catégories. J'utilise une liste déroulante pour choisir les catégories, en sélectionnant un allume un VBA qui change un combobox qui affiche les critères. Le problème avec ceci est que les critères des autres catégories dans le champ à valeurs multiples apparaissent comme des numéros d'ID dans la liste déroulante, puisque la source de contrôle est fixée sur le champ à valeurs multiples. Comment puis-je cacher ces identifiants non désirés, ou n'est-ce pas possible avec mon approche?Masquer des valeurs dans une zone de liste déroulante avec une source de contrôle à valeurs multiples

Table AdmitCriteria: 
    ID | fkCatID | Label 
    1 |  1  | xxx 
    2 |  1  | xxx 
    3 |  1  | xxx 
    4 |  2  | xxx 
    5 |  3  | xxx 
    6 |  3  | xxx 

Table Patients: 
    AdmitCrit (multi-value field) 

Form: 
    critCategoriesDropdown: rowsource = ID, Label FROM AdmitCriteria 
    cboCriteria: controlsource = AdmitCrit 
       rowsource: VBA 

-

Private Sub critCategoriesDropdown_AfterUpdate() 
    Dim strSource As String 
    Dim ctrlSource As String 

    strSource = "SELECT Id, Label FROM AdmitCriteria WHERE fkCatID = " & Me.critCategoriesDropdown.Column(0) & ";" 
    Me.cboCriteria.RowSource = strSource 
End Sub 

Unwanted ID's at the end

Répondre

0

tripoté avec les paramètres, l'option trouvé ShowOnlyRowSourceValues. Cela a résolu le problème.