Rechercher dans un DBGrid

hysteria74 Messages postés 20 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 24 juin 2005 - 24 mai 2005 à 16:58
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 - 1 mars 2012 à 14:20
Bonjour,

J'aimerais savoir si il existe une facon plus efficace de faire une recherche de texte dans un DBGrid que "LOCATE".

Mon code marche bien mais j'aimerais avoir la possibilité de faire par la suite un bouton suivant au cas ou il y aura un autre mot similaire.

Mon code est le suivant : DataSource.DataSet.Locate('colonne',VarArrayOf(['mot à rechrcher']),[loCaseInsensitive, loPartialKey]);

colonne=Fra
mot à rechercher=cool

Merci pour vos réponses.

4 réponses

cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
25 mai 2005 à 09:06
Salut,

Si mes souvenir sont bons, ils existe la fonction locatenext qui te permet de passer au suivant.

Voilà, bon courage.

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
0
hysteria74 Messages postés 20 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 24 juin 2005
25 mai 2005 à 14:11
Elle existe bien mais comment y avoir l'accès ca ne marche pas sous delphi7:

DataSource.DataSet.LocateNext('colonne',VarArrayOf(['mot à rechrcher']),[loCaseInsensitive, loPartialKey]);

Il trouve que Locate!!!
0
cs_yaghmouracen Messages postés 13 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 31 décembre 2015
1 mars 2012 à 14:16
YaghmouracenPossible a l'aide du filtre de la Table paradoxe

{* Edit1.Text:='Mot Inconnue dans la Table'
Le Mot 'Moh'na Aucune signification dans votre Table*}
procedure TFrmCyDBAdvGrid.cySpeedButton45Click(Sender: TObject);
Var S:String;
Begin
S:='Designation';//Champ Text de la Table
Table1.Filter:=S+'<>'''+'Moh'+'''';
Table1.Filtered:=True;
End;

Avec OnFilterRecord
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;var Accept: Boolean);
Var S:String;
K:Integer;
begin
S:=Edit1.Text;
K:=Pos (S,Table1Désignation.AsString);
Accept := (K>0);
End;
0
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
1 mars 2012 à 14:20
Et j'espère qu'il n'a pas attendu la réponse ...
Sinon cela fait 7 ans d'attente :D
0
Rejoignez-nous