Effectuer plusieurs filtrages dans un DBGrid [Résolu]

DGPat 54 Messages postés samedi 27 mars 2004Date d'inscription 1 août 2006 Dernière intervention - 28 sept. 2004 à 11:40 - Dernière réponse : cs_kika2010 2 Messages postés lundi 8 novembre 2010Date d'inscription 12 janvier 2011 Dernière intervention
- 12 janv. 2011 à 11:02
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 ???

Merci d'avance.
Afficher la suite 

Votre réponse

4 réponses

jmp77 1232 Messages postés lundi 4 février 2002Date d'inscription 4 octobre 2006 Dernière intervention - 28 sept. 2004 à 13:48
+3
Utile
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]);

Voila j'espere t'avoir depanner.

Bonne prog,
JMP.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jmp77
DGPat 54 Messages postés samedi 27 mars 2004Date d'inscription 1 août 2006 Dernière intervention - 28 sept. 2004 à 17:10
0
Utile
Merci jmp77 j'ai essayé ca fonctionne (adapté suivant mes besoins)
Commenter la réponse de DGPat
salmi2002 1 Messages postés mercredi 20 février 2008Date d'inscription 12 janvier 2011 Dernière intervention - 12 janv. 2011 à 10:26
0
Utile
salut,
je travail avec c++builder6 et interbase comme SGBD ,Je voudrais éffectuer un filtrages dans un DBGrid ,j'ai essai avec

String Filtre "C_produit '" + C_produit->Text + "'";
if (C_produit->Text.IsEmpty())
{
PRODUIT->Filtered=false;
return;
}
PRODUIT->Filter = Filtre;
PRODUIT->Filtered = true;

mais ca marche pas, merci d'avance
Commenter la réponse de salmi2002
cs_kika2010 2 Messages postés lundi 8 novembre 2010Date d'inscription 12 janvier 2011 Dernière intervention - 12 janv. 2011 à 11:02
0
Utile
[img]C:\Documents and Settings\helsinki\Bureau/img
Commenter la réponse de cs_kika2010

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.