Bonjour à tous,
J'ai un datamodule avec un IBQuery qui effectue un ordre SELECT sur plusieurs champs avec un ORDER BY sur un champ T_PAT_NOM et une fiche avec un DBGRid qui affiche le résultat de IBQuery
Comme cette requete renvoie plus de 200 noms je voudrais filtrer le résultat en utilisant l'évènement onChange d'un TEdit. Mais rien ne marche.
J'utilise D7 + Firebird 2.0
Voici le code de l'événement onChange que j'ai trouvé sur le forum mais pas d'effet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TF_GESTION_DOSSIER.Edit1Change(Sender: TObject); begin if (Length(Edit1.Text) > 0) then begin DM_2.Q_DOS_1.Filter := 'T_PAT_NOM = ' + QuotedStr (Edit1.Text + '*') ; DM_2.Q_DOS_1.Filtered := True; end else begin DM_2.Q_DOS_1.Filtered := False; end; end;
J'ai essayé par l'évènement Onfilter de l'IBQuery avec le code suivant mais la DBGrid se vide
Ou est l'erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Accept := DataSet['T_PAT_NOM'] = F_GESTION_DOSSIER.Edit1.Text;
D'avance merci
Mirmillon
Partager