smartyan
Messages postés4Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention10 avril 2005
-
13 déc. 2003 à 12:53
nn2009
Messages postés14Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention14 novembre 2011
-
3 juin 2009 à 11:11
: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".
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 13 déc. 2003 à 18:52
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
nn2009
Messages postés14Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention14 novembre 20111 3 juin 2009 à 11:11
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 .