IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Recherche par FindKey


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par d�faut Recherche par FindKey
    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 trouv� un probl�me d�s ma r�alisation d'une recherche avec FindNearest dans un table Table1, j'ai essayer en delphi le code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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!!
    Fichiers attach�s Fichiers attach�s

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut infomaNss
    ca devrait donner quelque chose comme ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Table1->IndexName = "num_imat";
    if(!Table1->FindKey([edit1->Text]))
    {
    ShowMessage("Non trouvé!");
    }
    else
    {
    Label1->Caption = Table1->FieldByName("nom")->AsString;
    Label2->Caption = Table1->FieldByName("prénom")->AsString;
    }
    }

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par d�faut
    Slt blondelle
    Merci beaucoup. Mais en c++ builder la fonction FindKey a deux param�tres
    comme suit: FindKey(const TVarRec*,const int). elle ne fonctionne pas avec ([Edit1->Text])
    donc le probl�me qui se pose comment je vais l'implanter le premier parametre (const TVarRec*)?
    FindKey(????,StrToInt(Edit1->Text))

    et merci tout d'abord a tous.

  4. #4
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Tire de l'aide en ligne BCB
    TTable::FindKey
    Recherche un enregistrement dont les champs contiennent les valeurs sp�cifi�es.
    bool __fastcall FindKey(const System::TVarRec * KeyValues, const int KeyValues_Size);
    Description
    La m�thode FindKey permet de rechercher un enregistrement sp�cifique d'un ensemble de donn�es. KeyValues contient un tableau d�limit� par des virgules de valeurs de champ, appel� une cl�. Chaque valeur de la cl� peut repr�senter un litt�ral, une variable ou NULL. Si le nombre de valeurs transmises dans KeyValues est inf�rieur au nombre de colonnes de l'index utilis� pour la recherche, les valeurs manquantes sont suppos�es �tre nulles. KeyValues_Size sp�cifie l'index de la derni�re valeur de KeyValues (une de moins que le nombre total de valeurs fournies). Dans l'instruction ci-dessous, la m�thode FindKey est utilis�e pour trouver la ligne de la table ayant dans le champ index la valeur "'Princess Island SCUBA".
    TVarRec vr = ("Princess Island SCUBA");
    Table1->FindKey(&vr, 0);
    Les valeurs de recherche peuvent �tre transmises � FindKey en utilisant une construction TVarRec (comme ci-dessus) ou une construction ARRAYOFCONST. L'exemple ci-dessous effectue la m�me recherche que l'exemple pr�c�dent, mais en utilisant ARRAYOFCONST.
    Table1->FindKey(ARRAYOFCONST(("Princess Island SCUBA")));
    Pour les tables Paradox et dBASE, la cl� doit toujours �tre un index, qui peut �tre sp�cifi� dans la propri�t� IndexName. Si IndexName est vide, FindKey utilise l'index primaire de la table. Notez que FindKey ne fonctionne pas avec des index d'expression dBASE. Utilisez � la place la m�thode GotoKey ou GotoNearest.
    Pour les tables SQL, la cl� peut correspondre � un index sp�cifi� dans IndexName ou � une liste de noms de champ dans la propri�t� IndexFieldNames.
    Si la recherche r�ussit, FindKey positionne le curseur sur l'enregistrement correspondant et renvoie true. Sinon, le curseur n'est pas d�plac� et FindKey renvoie false.
    TTable::FindNearest
    D�place le curseur sur l'enregistrement le plus proche d'un ensemble sp�cifi� de valeurs cl�.
    void __fastcall FindNearest(const System::TVarRec * KeyValues, const int KeyValues_Size);
    Description
    La m�thode FindNearest permet de d�placer le curseur sur un enregistrement sp�cifique d'un ensemble de donn�es ou sur le premier enregistrement de l'ensemble de donn�es contenant des valeurs sup�rieures � celles sp�cifi�es dans le param�tre KeyValues. KeyValues contient un tableau d�limit� par des virgules de valeurs de champ, appel� une cl�. Chaque valeur de la cl� peut repr�senter un litt�ral, une variable ou NULL. Si le nombre de valeurs transmises dans KeyValues est inf�rieur au nombre de colonnes de l'index utilis� pour la recherche, les valeurs manquantes sont suppos�es �tre nulles. KeyValues_Size sp�cifie l'index de la derni�re valeur de KeyValues (une de moins que le nombre total de valeurs fournies). Dans l'instruction ci-dessous, la m�thode FindKey est utilis�e pour trouver la ligne de la table ayant dans le champ index la valeur "'Princess Island SCUBA".
    TVarRec vr = ("Princess Island SCUBA");
    Table1->FindNearest(&vr, 0);
    Les valeurs de recherche peuvent �tre transmises � FindNearest en utilisant une construction TVarRec (comme ci-dessus) ou une construction ARRAYOFCONST. L'exemple ci-dessous effectue la m�me recherche que l'exemple pr�c�dent, mais en utilisant ARRAYOFCONST.
    Table1->FindNearest(ARRAYOFCONST(("Princess Island SCUBA")));
    Pour les tables Paradox et dBASE, la cl� doit toujours �tre un index, qui peut �tre sp�cifi� dans la propri�t� IndexName. Si IndexName est vide, FindNearest utilise l'index primaire de la table. Notez que FindKey ne fonctionne pas avec des index d'expression dBASE. Utilisez � la place la m�thode GotoKey ou GotoNearest.
    Pour les tables SQL, la cl� peut correspondre � un index sp�cifi� dans IndexName ou � une liste de noms de champ dans la propri�t� IndexFieldNames.
    FindNearest positionne le curseur sur l'enregistrement correspondant exactement ou sur le premier enregistrement dont les valeurs sont sup�rieures � celles sp�cifi�es dans le crit�re de recherche. Si aucun enregistrement ne contient de valeurs sup�rieures ou �gales aux crit�res sp�cifi�s, FindNearest positionne le curseur sur le dernier enregistrement de la table. KeyExclusive affecte �galement les conditions de limite d'intervalle et l'enregistrement s�lectionn� par FindNearest.
    j'essairai ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Table1->FindKey(ARRAYOFCONST((edit1->Text)));

Discussions similaires

  1. Recherche par une partie du champ
    Par safadev dans le forum Langage SQL
    R�ponses: 2
    Dernier message: 31/10/2005, 14h20
  2. recherche par mot cl�
    Par seb59dk dans le forum Access
    R�ponses: 3
    Dernier message: 06/09/2005, 14h26
  3. Recherche par mots cl�s
    Par legillou dans le forum Algorithmes et structures de donn�es
    R�ponses: 4
    Dernier message: 17/06/2005, 10h56
  4. Probleme de recherche par listbox
    Par haigwepa dans le forum IHM
    R�ponses: 6
    Dernier message: 12/10/2004, 19h57
  5. Moteur de recherche par date
    Par Prue dans le forum ASP
    R�ponses: 17
    Dernier message: 27/08/2003, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo