Rechrche dans DBgrid a laide d'un edit [Résolu]

siahmedaek 45 Messages postés dimanche 14 juin 2009Date d'inscription 29 octobre 2009 Dernière intervention - 30 juin 2009 à 12:56 - Dernière réponse : siahmedaek 45 Messages postés dimanche 14 juin 2009Date d'inscription 29 octobre 2009 Dernière intervention
- 15 juil. 2009 à 14:59
salut,
j'aimerais bien connaitre comment chercher un nom dans une dbgrid a l'aide de la commande LIKE
c a d lorsque je tape la lette D tout le dbgrid affiche momentanement Dupent,Dunant ,Dora...
le faite que j'ajoute la lettre U c a d   DU le dbgrid affiche seulement Dupent et Dunant et ainsi de suite
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 30 juin 2009 à 17:18
3
Merci
La recherche incrémentale n'existe pas dans un TdbGrid...
Il te faut le TcxGrid (non free)

Tu peux jeter un oeil sur cet article qui tente de faire un compromis dans la recherche mais qui n'a rien à voir avec la précédente :
http://delphi.about.com/od/database/l/aa121499a.htm

Si ce n'est pas pour faire de l'automatique alors tu peux toujours pour quelques extractions particulières lancer une requête SQL sur la table.

cantador

Merci cs_cantador 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_cantador
Meilleure réponse
cs_eli42 106 Messages postés mardi 24 décembre 2002Date d'inscription 8 avril 2018 Dernière intervention - 6 juil. 2009 à 16:02
3
Merci
Si c'est un DBGrid, c'est forcement de la base de données faut faire comme dit Cantador, du sql sur ton TEdit onKeyup ou onKeypress, c'est le plus simple

Bonne prog a tous (tes)

Merci cs_eli42 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_eli42
Meilleure réponse
solilog 273 Messages postés samedi 13 juin 2009Date d'inscription 18 avril 2015 Dernière intervention - 11 juil. 2009 à 17:38
3
Merci
Bonjour,
Essaye çà:
Dans l'évenement OnChange de ton edit1 ...

procedure TForm1.Edit1Change(Sender: TObject);
begin
   if edit1.Text <> ''  then
      table1.locate(['NOM'], [edit1.Text], [ loCaseInsensitive, loPartialKey
])
      // loCaseInsensitive ignore MAJ / min
      else
      table1.first;
end;

Salut
solilog

Merci solilog 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de solilog
Meilleure réponse
solilog 273 Messages postés samedi 13 juin 2009Date d'inscription 18 avril 2015 Dernière intervention - 11 juil. 2009 à 19:47
3
Merci
Mais ainsi le dbgrid pointe sur le bon rec, idem avec findnearest

Merci solilog 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de solilog
siahmedaek 45 Messages postés dimanche 14 juin 2009Date d'inscription 29 octobre 2009 Dernière intervention - 8 juil. 2009 à 15:20
0
Merci
merci pour l'idee
Commenter la réponse de siahmedaek
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 11 juil. 2009 à 18:12
0
Merci
@solilog:
on est plus dans le dbgrid avec cette méthode...
autant utiliser dans ce cas le FindNearest..

cantador
Commenter la réponse de cs_cantador
siahmedaek 45 Messages postés dimanche 14 juin 2009Date d'inscription 29 octobre 2009 Dernière intervention - 15 juil. 2009 à 14:59
0
Merci
Probleme Resolu,Merci Solilog

procedure TForm1.Edit1Change(Sender: TObject);
begin
   if edit1.Text <> ''  then
      table1.locate(['NOM'], [edit1.Text], [ loCaseInsensitive, loPartialKey ])
      // loCaseInsensitive ignore MAJ / min
      else
      table1.first;
end;
    
Commenter la réponse de siahmedaek

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.