Home
Home

---Soumis par Dev Ashish---

Ajouter "tous" à une liste de combo box.

    Si RowSourceType du contrôle est "Table/Query", il y a deux façons. L'une 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 votre combo box est

SELECT CustomerID, CompanyName FROM Customers ORDER BY CustomerID;

    Vous pouvez aisément ajouter"(Tous)" comme premier choix. De plus, si  CustomerID est le champ lié mais qu'il est invisible, vous pouvez soit utiliser NULL ou une autre valeur:

SELECT CustomerID, CompanyName FROM Customers UNION Select Null as AllChoice , "(All)" 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. Ainsi si  RowSource du contrôle Combo0 est

"Hello"; "World"

Alors, changer le code changera la liste à

"(All)";"Hello"; "World"

'******* Code Start ********
Private Sub Form_Open(Cancel As Integer)
  With Me.Combo0
    .RowSourceType = "Value List"
    .RowSource = "(All);" & .RowSource
  End With
End Sub
'******* Code End ********