Cobuce
Messages postés19Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention 1 août 2006
-
26 juil. 2006 à 14:53
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
1 août 2006 à 14:42
Salut,
j'utilise un DBGrid connecté ADOQuery pour afficher les données de la base Accès. Je cherche à filtrer les données en tapant un caractère apha dans Edit. Mais il arrive que lorsque je tape un caractère toutes les données de DBGrid s'efface rien ne reste. Auriez-vous l'amabilité de venir en aide ?. D'avance merci pour toute personne que viendrai en mon secours. Voici le code:
procedure TWddeStock.RzEdit1Change(Sender: TObject);
begin if RzEdit1.GetTextLen<> 0 then begin DMStock.QStock.Filter:= 'Libelle='''+RzEdit1.Text+'*''';
DMStock.QStock.Filtered:=true;
end
else DMStock.QStock.Filtered: =false;
end;
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 27 juil. 2006 à 21:08
Désolé mais je ne peux pas tester pour l' instant mais tu peux faciliter l' écriture comme ça:
DMStock.QStock.Filter:='Libelle=' + QuotedStr(RzEdit1.Text) + '*';
Cobuce
Messages postés19Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention 1 août 2006 27 juil. 2006 à 23:41
Salut Moricio
Merci pour ton intervention. Je viens de tester, mais malheureusement ça ne marche pas. Une erreur s'affiche à l'exécution du genre " Arguments are of the wrong type, are out of acceptable range, or are in conflit with one anather".
Y-a-t-il pas quelqu'un qui peut m'aider ?
A+
Cobuce
Cobuce
Messages postés19Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention 1 août 2006 30 juil. 2006 à 23:42
Salut Moricio,
Merci pour votre intervention, la permière partie de la solution proposée marche, mais lorsque j'essai d'ajouter ' AND (Libelle<= ' + QuotedStr(RzEdit1.Text) + 'ZZZ)'; une erreur signalée précédement s'affiche. Voici la procedure après modification, prière vérifier s'il manque qlq chose :
procedure TWddeStock.RzEdit1Change(Sender: TObject);
begin if RzEdit1.GetTextLen<> 0 then
begin
DMStock.QStock.Filter: ='Libelle>='+QuotedStr(RzEdit1.Text)+
' AND (Libelle<=' + QuotedStr(RzEdit1.Text) + 'ZZZ)';
DMStock.QStock.Filtered:=true;
end
else
DMStock.QStock.Filtered:=false;
end;
A+
Cobuce,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Cobuce
Messages postés19Date d'inscriptionmardi 10 mai 2005StatutMembreDernière intervention 1 août 2006 31 juil. 2006 à 16:11
Salut Moricio,
Je viens de placer les paranthèses, mais le problème persiste cad la même erreur s'affiche (Arguments are .......) lorsque je tape un caractère dans RzEdit.
Que dois-je faire ?
A+
Cobuce
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 1 août 2006 à 14:42
Bem non:
(Libelle>='m') and (Libelle<='m'ZZZ)
ça doit être comme ça :
(Libelle>='m') and (Libelle<='mZZZ')
Je me suis trompé:
DMStock.QStock.Filter:='(Libelle>='+QuotedStr(RzEdit1.Text)+
') AND (Libelle<=' + QuotedStr(RzEdit1.Text + 'ZZZ') + ')';
Voilà, ça devrait marcher ...
A+