Salut
Je cherche filtrer une colonne des noms d'une base de données avec un edit, mais la base de données se filtre avec la saisie des lettres
Dbase delphi5.
Merci
Salut
Je cherche filtrer une colonne des noms d'une base de données avec un edit, mais la base de données se filtre avec la saisie des lettres
Dbase delphi5.
Merci
pourrais-tu être un petit peu plus explicite?
Salut
Oui je cherche filtré la colonne des noms de ma base de donnée de la manière suivante
Quand j'écris dans l'edit la première lettre le filtre s'active c'est à dire quand j'écris la lettre 'A' par exemple dans mon dbgrid s'affiche tous les noms commence par 'A', ainsi de suite quand j'écris la deuxième lettre 'Ab' par exemple dans mon dbgrid s'affiche tous les noms commence par 'Ab' ....
Merci pour votre aide.
une query du genre
ou le paramètre début est changé dans le onkeypress du dbedit1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2SELECT * FROM TABLE WHERE CHAMP STARTING WITH :DEBUT
salut
SergioMaster
je ne cherche pas une solution qury, j'aimerais bien un code delphi.
salut
ghilo
J’ai utilisé ce code
Pour filtré les enregistrements par nom, mais rien ne s'affiche dans le dbgrid après la saisie de la première lettre (le dbgrid devient vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Var filtre:string; Begin Filtre:='nom=''+edit2.text+'*'''; table1.filter:=filtre; table1.filtered:=true;
J’ai essayé ce code dans un petit exemple ça marche bien, mais ça ne marche pas dans mon projets..Pourquoi??
merci mes amis.
Normalement une DBGrid est reliée à une table ou à une requête.
Pour modifier les résultats d'affichage de ta DBGRID en fonction d'un filtre il est donc logique de modifier une requête.
Salut
Philnex
Je te comprends mais je cherche une réponse à mon problème.
Merci
En quoi une query ne peut pas être une solution delphi ! j'aurais écrit ce code cela aurait-il changé la face du monde ?
Ce qu'il faut c'est apprendre à utiliser les Query et leurs paramètres plutôt que cette (censuré) de Filtre . Une simple comparaison de performances suffit à convaincre les plus têtus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Query.Active:=False; // commenté car pouvant être partie de la query //Query.SQL.Clear; //Query.SQL.Add('SELECT * FROM TABLE WHERE CHAMP STARTING WITH :DEBUT'); Query.ParamByName('DEBUT').asString:=QuotedStr(Edit1.Text); Query.Active:=True;
PS c'est plutôt dans l'évenement onchange comme Ghilo l'a indiqué qu'il faudrait le faire (je l'avais oublié celui là)
salut
SergioMaster
merci pour le code
merci bien
onEditChange
begib
Table1.Filtered:=True;
Table1.Filter:='Nom='''+Edit1.Text+'*''';
end;
salut MIWAN
oui c'est la solution que j'ai utilisé, mais le dbgrid s'affiche vide aprés l'utilisation du filtre, je ne sais pas pourquoi?
merci
ahhh j'ai oublié MIWAN
je te donne co,seil de mettre les code delphi entre les balises[code]..
Salut
j'ai du mal à avec cette affirmation...n'est il pas plus performant de charger une fois pour toutes les données de la DB (la query en l'occurence) et ensuite de filtrer en mémoire plutôt que de re-requêter à chaque fois?Envoyé par SergioMaster
Tout dépend de l'environnement bien sûr . J'ai tendance à voir des applications réseaux et de grosses bases de données (maintenant s'il s'agit d'un carnet d'adresse personnel et d'un mono-poste ....
Salut mon ami Just-Soft
S’affiche vide même si tu saisi la lettre juste.
Mais j'ai changé la méthode de la recherche.
Un edit et un bouton.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager