Bonjour,
Je voudrais éffectuer plusieurs filtrages dans un DBGrid
Voici ma méthode pour filtrer ma table Paradox dans un DBGrid
procedure TFmFactC.Edit4Change(Sender: TObject);
var Filtre : string;
begin Filtre :'Periode''' + Edit4.Text + '*''';
if Edit4.Text ='' then
begin
TbFacToutes.Filtered:=false;
exit;
end;
TbFacToutes.Filter := Filtre;
TbFactoutes.Filtered := true;
Cette méthode fonctionne bien pour filtrer ma table sur une "Période" mais je voudrais en plus filtrer la Période par exemple par "Nom" et ensuite par "Site", et là je bloque, j'ai essayé divers solutions mais apparament pas la bonne, si quelqu'un peut me donner un coup de pouce ???
Et bien voici comment faire :
Filtre :'(Periode ' + QuotedStr(Edit1.Text) + ') AND (Nom = ' + QuotedStr(Edit2.text) + ') AND Annee = ' + Edit3.text + ')';
Si tu veux saisir des chaines de caractères tu ne dois pas oublier le QuotedStr car sinon ca ne fonctionne pas.
Sinon solution un peu plus présentable quand tu as des grands filtres je trouve la commande format :
Filtre :Format('(Periode ''%s'') AND (Nom = ''%s'') AND (Annee = %s) ',[Edit1.Text,Edit2.Text,Edit3.Text]);