Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et 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

Réponse
 
Outils de la discussion
Vieux 15/07/2008, 13h59   #1 (permalink)
Expert Confirmé
 
Avatar de FreeAccess
 
Date d'inscription: mars 2006
Localisation: Un monde ou prendre est plus facile qu'apprendre...
Messages: 1 777
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 :
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 :
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 :
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 :
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
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 19h58.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations