Bde.DBTables.TTable.FindNearest

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure FindNearest(const KeyValues: array of const);

C++

void __fastcall FindNearest(const System::TVarRec *KeyValues, const int KeyValues_High);

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TTable

Description

Déplace le curseur sur l'enregistrement le plus proche d'un ensemble spécifié de valeurs clé.

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 être un littéral, une variable ou la valeur nil (Delphi) ou NULL (C++). 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".


Table1.FindNearest(['Princess Island SCUBA']);


TVarRec vr = ("Princess Island SCUBA");
Table1->FindNearest(&vr, 0);


Remarque :  Dans le code C++, 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 de préférence 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.

Voir aussi