Chercher un enregistrement dans une base avec FinKey

Signaler
Messages postés
19
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
29 mars 2007
-
Messages postés
13
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
25 août 2012
-
Bonjour,

J'utilise déja FindFirst, FindNext, FindLast...et je voudrais pouvoir trouver un erregistrement avec FindKey seulement je n'arrive pas à trouver la bonne syntaxe. Il y a tout dans l'aide de Delphi suaf des exemples....

Dans ma Table j'ai plusieurs champs : Champ1, Champ2,...,ChampN
Je cherche a atteindre l'enregistrement qui a la valeur x(Integer) dans le Champ1 qui est indexé avec la clef primaire.

Merci

2 réponses

Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
Bonjour,


Une remarque préalable : Dans l'aide de Delphi, le Findkey du TCustomClientDataSet dispose d'un exemple d'utilisation, ainsi que celui du TTable...

Sinon, il suffit normalement d'écrire :
var
  Resultat : Boolean ;

Resultat := Table.FindKey( [x] ) ;
if ( Resultat ) then
begin
  // Champ trouvé
en else
begin
  // Champ non trouvé
end ;

Cordialement.






<hr />

"L'imagination est plus importante que le savoir." Albert Einstein
Messages postés
13
Date d'inscription
mardi 2 décembre 2008
Statut
Membre
Dernière intervention
25 août 2012

FindKey permet la recherche par un champ indexé, si l'on indexé à l'aide de l'index 'Num'
Table1.FindKey([Edit1.Text]) cherchera l'enregistrement dont la valeur contenu dans le champs Num est egale à Edit1.Text.

Bon soir a tous. j'ai essayer en delphi le code suivant:
procedure TForm6.Button1Click(Sender: TObject);
begin
table1.IndexName:='num_imat';
if not table1.FindKey([edit1.Text]) then
showmessage('Non trouvé!')
else
begin
label1.Caption:=table1.FieldByName('nom').AsString;
label2.Caption:=table1.FieldByName('prénom').AsString;
end;

end;

Donc ma question est si quelqu'un qui veut m'aide de refaire ce code en c++, et Merci tout d'abord!!