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

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"

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

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