Forms: Ajouter "tous" à une liste de combo box |
Author(s) Dev Ashish |
|
Ajouter "tous" à une liste de combo box.
Si la propriété RowSourceType du contrôle est "Table/Query",
il y a deux façons d'ajouter "TOUS" à la liste. Une de ces façons, si le type est , utilise une requête de type Union et la seconde
nécessite une fonction "callback" (rappel). Les "callback"
sont nécessaires dans certains cas, mais peut-être un peu trop "coup de
canon" pour la situation.
Par exemple, si votre énoncé SQL pour le RowSource de
combo box est
SELECT CustomerID, CompanyName FROM Customers ORDER BY CustomerID;
Vous pouvez aisément ajouter"(Tous)" comme premier choix en tête de liste, pour la colonne CompanyName.
Pour CustomerID colonne associée, si elle est invisible, vous pouvez soit utiliser NULL ou une autre valeur remarquable que vous saurez alors associée à ce nouvel "enregistrement":
SELECT CustomerID, CompanyName FROM Customers UNION SELECT Null As AllChoice, "(Tous)" As Bogus FROM Customers ORDER BY CustomerID;
Si le RowSourceType est "Value List", vous
pouvez concaténer "(Tous)" comme premier choix à la liste,
lors de l'ouverture du formulaire, par exemple. Si RowSource du
contrôle Combo0 est
"Hello"; "World"
Alors, changer le code changera la liste à
"(Tous)";"Hello"; "World"
Private Sub Form_Open(Cancel As Integer)
With Me.Combo0
.RowSourceType = "Value List"
.RowSource = "(All);" & .RowSource
End With
End Sub
|