Bonjour,
j'aimerais savoir s'il existe une possibilité de filtrer sur un champ persistant.
Sur l'évènement onChange de trois Edit je créé un filtre sur une table nommée tblChantiers, un sur les noms clients, un sur les code postaux et un sur les villes.
Le problème, à l'affichage dans un DBGrid j'ai un champ persistant, les noms clients issu d'une table tblClients.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 procedure TfrmChantiers.RechercheChantier; var moncritere:string; Option : TLocateOptions; begin if (Edit1.Text='') and (Edit2.Text='') and (Edit3.Text='') then DM.tblChantiers.Filtered:=false; moncritere := ''; //Recherche sur un CP //------------------- If Edit1.GetTextLen<> 0 Then moncritere := moncritere + ' [CP_chantier] Like ''' + Edit1.text + '%'''+' AND'; //Recherche sur une ville //-------------------- If Edit2.GetTextLen<> 0 Then moncritere := moncritere + ' [Ville_chantier] Like ''' + Edit2.text + '%'''+' AND'; //Recherche sur les clients //----------------------------- If Edit3.GetTextLen<> 0 Then moncritere := moncritere + ' [ClairClient] Like ''' + Edit3.text + '%'''+' AND'; //Ici ce n'est pas bon car ClairClient est un champ persistant qui n'est pas dans ma table tblChantiers mais dans ma table tblClients // Afficher le résultat If Length(moncritere) > 0 Then begin moncritere := Copy(moncritere, 1,Length(moncritere) - 4); DM.tblChantiers.Filter :=moncritere; DM.tblChantiers.Filtered:=true; end; end;
Est il possible de filtrer sur ce champ et si oui comment?
D'avance merci
Codial
Partager