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

Messages postés
45
Date d'inscription
dimanche 14 juin 2009
Dernière intervention
29 octobre 2009
- 30 juin 2009 à 12:56 - Dernière réponse :
Messages postés
45
Date d'inscription
dimanche 14 juin 2009
Dernière intervention
29 octobre 2009
- 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
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_cantador
Meilleure réponse
Messages postés
116
Date d'inscription
mardi 24 décembre 2002
Dernière intervention
30 juillet 2018
- 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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_eli42
Meilleure réponse
Messages postés
273
Date d'inscription
samedi 13 juin 2009
Dernière intervention
18 avril 2015
- 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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

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

Merci solilog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de solilog
Messages postés
45
Date d'inscription
dimanche 14 juin 2009
Dernière intervention
29 octobre 2009
- 8 juil. 2009 à 15:20
0
Merci
merci pour l'idee
Commenter la réponse de siahmedaek
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 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
Messages postés
45
Date d'inscription
dimanche 14 juin 2009
Dernière intervention
29 octobre 2009
- 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.