Bonjour...
Cette modeste contribution fait suite à cette discution..:
http://www.developpez.net/forums/sho...d.php?t=577338
Pour répondre à la question de ToxiZz...
Petit exemple pour illustrer mon propos:Comment est-il possible de garder la possiblité de filtrer avec des espaces ?
Table [T_Personnel]......ID_Personnel (Texte)......Nom (Texte)......Prenom (Texte)
Formulaire indépendant [F_Recherche] avec deux contrôles:
..... Contrôle Zone de Liste [lstPersonnel] dont la propriété "Contenu" est..
.... Contrôle Zone de Texte [txtRecherche]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Personnel.ID_Personnel, T_Personnel.Nom, T_Personnel.Prenom, * FROM T_Personnel WHERE (((T_Personnel.Nom) Like Forms!F_Recherche!txtRecherche & "*")) ORDER BY T_Personnel.Nom;
Sur événement "Sur changement"...:
Sur événement "Sur touche activée"...:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub txtRecherche_Change() If Flag = True Then 'Mise à jour des enregistrements Refresh 'Je repositionne le curseur en fin du texte saisie Me.txtRecherche.SelStart = Me.txtRecherche.SelLength 'Actualisation de la Zone de liste Me.lstPersonnel.Requery End If End Sub
En en-tête de code ne pas oublier de déclarer la variable Flag.:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub txtRecherche_KeyPress(KeyAscii As Integer) 'Si la touche Espace est pressée..... If KeyAscii = vbKeySpace Then '....Flag passe à False (pas d'actualisation de la ZdL) Flag = False Else '...sinon actualisation de la ZdL (Requery) Flag = True End If End Sub
....en espérant que cette solution rapide et facile dans sa mise en oeuvre sera utile au plus grand nombre......
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Option Compare Database Option Explicit 'Pour identifier un changement dans la zone de texte [txtRecherche] Dim Flag As Boolean
Partager