Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Contribuez
Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 13h59   #1
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 318
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 318
Points : 2 870
Points : 2 870
Par défaut Filtrer une recherche en fonction des caractères saisies

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...
Citation:
Comment est-il possible de garder la possiblité de filtrer avec des espaces ?
Petit exemple pour illustrer mon propos:

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..
Code :
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;
.... Contrôle Zone de Texte [txtRecherche]

Sur événement "Sur changement"...:
Code :
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
Sur événement "Sur touche activée"...:
Code :
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 en-tête de code ne pas oublier de déclarer la variable Flag.:
Code :
1
2
3
4
5
Option Compare Database
Option Explicit
 
'Pour identifier un changement dans la zone de texte [txtRecherche]
Dim Flag As Boolean
....en espérant que cette solution rapide et facile dans sa mise en oeuvre sera utile au plus grand nombre......
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h19.


 
 
 
 
Partenaires

Hébergement Web