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.
Partager