Salut à tous, j'ai toujours aimer ce forum parce que en y trouve toujours son bonheur, voila j'utilise delphi 2010 Base de donnée ORACLE est je voudrais mettre un filtre sur plusieurs colonnes de mon DBGrid suivant 09 Tedit à saisir. J'ai réussi à faire un programme qui marche mais je le trouve compliquer et hasardeux, pour terminer je voudrais que les filtres marche tous en même temps quand je mets le premier lettre dans chaque Tedit, voici mon code + un image de ma conception du programme de test
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 procedure Tform1.Tri_DbGrid(Sender : TObject); Begin if (Edit3.Text<>'') And (Edit4.Text='') And (Edit5.Text='') And (Edit6.Text='') And (Edit7.Text='') And (Edit8.Text='') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'BASE like' + QuotedStr(Edit3.Text+'%'); OraQuery1.Filtered := True; end Else if Edit3.Text='' then OraQuery1.Filtered := False; if (Edit3.Text='') And (Edit4.Text<>'') And (Edit5.Text='') And (Edit6.Text='') And (Edit7.Text='') And (Edit8.Text='') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'No_Assure like' + QuotedStr('%'+Edit4.Text+'%'); OraQuery1.Filtered := True; end; if (Edit3.Text='') And (Edit4.Text='') And (Edit5.Text<>'') And (Edit6.Text='') And (Edit7.Text='') And (Edit8.Text='') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'Nom like' + QuotedStr(Edit5.Text+'%'); OraQuery1.Filtered := True; end; if (Edit3.Text='') And (Edit4.Text='') And (Edit5.Text='') And (Edit6.Text<>'') And (Edit7.Text='') And (Edit8.Text='') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'Prenom like' + QuotedStr(Edit6.Text+'%'); OraQuery1.Filtered := True; end; if (Edit3.Text='') And (Edit4.Text='') And (Edit5.Text='') And (Edit6.Text='') And (Edit7.Text<>'') And (Edit8.Text='') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'Naissance like' + QuotedStr('%'+Edit7.Text+'%'); OraQuery1.Filtered := True; end; if (Edit3.Text='') And (Edit4.Text='') And (Edit5.Text='') And (Edit6.Text='') And (Edit7.Text='') And (Edit8.Text<>'') And (Edit9.Text='') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'CodCentre like' + QuotedStr('%'+Edit8.Text+'%'); OraQuery1.Filtered := True; end; if (Edit3.Text='') And (Edit4.Text='') And (Edit5.Text='') And (Edit6.Text='') And (Edit7.Text='') And (Edit8.Text='') And (Edit9.Text<>'') Then begin // OraQuery1.Close; // OraQuery1.Open; OraQuery1.Filtered := False; OraQuery1.Filter := 'SP like' + QuotedStr('%'+Edit9.Text+'%'); OraQuery1.Filtered := True; end;end;
Partager