Comment filtrer avec .filter dans une ADO Table ? [Résolu]

Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Dernière intervention
5 décembre 2005
- - Dernière réponse :  tabtah - 29 janv. 2013 à 22:30
Bonjour à tous,


Je transforme mes bases Access BDE en ADO. Tous mes filtres fonctionnant parfaitement en BDE ne m’affichent plus aucunes données dans ma DBGRID depuis le passage en ADO.


Je me rends compte, après avoir surfé sur différents forums que je ne suis pas le seul dans le cas.Voici ma programmation … rien de plus simple ?!





adotable1.Filter:= 'Nom=' + quotedstr(edit2.Text+'*');


adotable1.Filtered := true;


Pouvez-vous m’aider ?
Bien grand merci !!!!
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
9
Date d'inscription
mercredi 2 avril 2003
Dernière intervention
5 décembre 2005
3
Merci
Tout d'abord, je te remercie de me venir en aide ...
Je suis certain que ta requête et parfaitement codée, mais la dbgrid n'affiche toujours rien ! Pourrais-tu me donner tous les éléments de connexion pour que celle-ci affiche le résultat !
Moi j'ai ... TDataSource lié à un TADOQuery ...
Merci.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_crsi
Messages postés
67
Date d'inscription
vendredi 15 août 2003
Dernière intervention
5 décembre 2005
1
1
Merci
Salut,

Essais comme ça

AdoQuery1.active:=false;

AdoQuery1.Sql.text:='Select * from tatable Where Nom Like "'+Edit2.text+'%"';

AdoQuery1.active:=true;



filtre tout les noms qui commence par

@+
Commenter la réponse de cs_tigrou19
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
14 novembre 2011
1
1
Merci
salut à tous
j'ai un problème que personne n'a pu me donner la bonne réponse
voila: je filtre ma table sur deux editeurs mais pas en même temps, un seul à la fois.
le 1er devra contenir un code qui est un entier
le second devra contenir un nom  qui est un string, alors filtrer la table sur un string c'est facile mais sur un entier C comme voyager dans le temps,
j'utilise l'événement OnChange Edit des 2 editeurs
le 1er code source est:
procedure TModifier_Patient.Edit1Change(Sender: TObject);
begin
Adotable1.Filtered:=false;
if edit1.Text ='' then exit;
AdoTable1.Filter := 'CODE_PATIENT LIKE'  + QuotedStr(Edit1.Text + '%');
AdoTable1.filtered := True;
end;
le second est :
procedure TModifier_Patient.Edit2Change(Sender: TObject);
begin
Adotable1.Filtered:=false;
if edit2.Text ='' then exit;
AdoTable1.Filter := 'Nom_Patient LIKE ('+''''+edit2.Text+'%'+''''+')';
AdoTable1.filtered := True;
end;
lorsque j'e'xecute la 1ere fois et je filtre sur le code(entier) ça marche et lorsque je vais sur le second edit pour filtrer sur le nom ça marche aussi mais des que je reviens au 1er edit pour refiltrer sur un entier(code) ça foire, ma table ne contiens que les enregistrements dont j'ai filtré dérnièrement dans le 2eme edit .
coment faire !?
Commenter la réponse de nn2009
1
Merci
merci ca marche parfaitement
Commenter la réponse de tabtah
Messages postés
17
Date d'inscription
lundi 21 janvier 2008
Dernière intervention
29 mai 2009
0
Merci
with ADODataSet1 do begin
Filter :='Ligne_compte ='+QuotedStr('1');
Filtered:=true;

its better
Commenter la réponse de cs_abdenour123

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.