bonjour
j'ai une zone de liste avec un champ nom et un autre prénom, comment faire pour trier la même liste soit par le nom, soit par le prenom
bonjour
j'ai une zone de liste avec un champ nom et un autre prénom, comment faire pour trier la même liste soit par le nom, soit par le prenom

Bonjour
Il faut que tu alimentes ta zone de liste par une requête, tu mets sur celle-ci une ordre (OrderBy), que tu changes en mettant cette requête (en SQL) dans la propriété Source de cette liste. Ensuite tu fais un Requery sur celle-ci pour la mettre à jour.
Starec
Bonjour,
Tu vides la source de ta liste déroulante qu'on imagine s'appeler "cboNP" (Juste la source contrôle..Laisse le reste)
Sur ton formulaire tu inscrits un group d'options-->cdrTrieNP formé de 2 options
Ce qu'on va retenir pour ces 2 options en dehors de leurs noms(Nom et Prénom?)
C'est leur valeur de contrôle--> 1 et-->2
Sur l'ouverture de ton formulaire :
Sur ton group d'options :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Form_Open(Cancel As Integer) Dim StrSql As String StrSql = "SELECT tblClient.Nom, tblClient.Prenom " & _ "FROM tblClient " & _ "ORDER BY tblClient.Nom;" Me.cboNP.RowSource = StrSql End Sub
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub cdrTrieNP_AfterUpdate() Dim StrSql As String If Me.cdrTrieNP.Value = 1 Then StrSql = "SELECT tblClient.Nom, tblClient.Prenom " & _ "FROM tblClient " & _ "ORDER BY tblClient.Nom;" Else StrSql = "SELECT tblClient.Nom, tblClient.Prenom " & _ "FROM tblClient " & _ "ORDER BY tblClient.Prenom;" End If Me.cboNP.RowSource = StrSql End Sub
Merci Starec pour l'idée et Francishop pour la démo
çà marche nickel
je viens d' apprendre
- passer un code sql string en vba
- le concateneur & _
- rowsource
Francishop, je progresse encore !!!
Partager