Filtrer un database

Signaler
Messages postés
4
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
10 avril 2005
-
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
14 novembre 2011
-
:big) smartyan

Quelqu'un peut-il m'expliquer pourquoi je n'arrive pas à filtrer ma table acces?

J'utilise le code suivant:

Table1.filter:='Nom=S*';
Table1.filtered:=true;

mais quand j'execute la dbgrid devient vierge alors qu'elle devrait reprendre es enregistrements en "S".

2 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Voir :
  Table1.Filter :'Nom ' + QuotedStr('S*');

Ce qui produit une chaine équivalente à ceci :
Nom = 'S*'

La nuance est dans l'emplacement des guillemets.

NB : l'utilisation de QuotedStr n'est pas obligatoire, mais sécurise l'ensemble en doublant automatiquement les guillemets là où c'est nécessaire.
May Delphi be with you
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
14 novembre 2011
1
Bonjour delphi prog
j'ai un problème que personne n'a pu me donner la bonne réponse
voila: je filtre ma table sur deux editeursmais 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 := 'inttostr(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 !?