1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
Utilisation de la méthode LocateFrom RAD Studio (Français)
Remonter à Présentation des ensembles de données - Index
Locate déplace le curseur sur la première ligne correspondant au critère de recherche spécifié. Dans sa forme la plus simple, vous transmettez à Locate le nom de la colonne de recherche, une valeur de champ pour établir la correspondance et un indicateur d'option qui spécifie si la recherche doit tenir compte des différences majuscules/minuscules et si elle utilise les correspondances de clés partielles. (Correspondances dans lesquelles la chaîne de critère peut se limiter à un préfixe de la valeur de champ.) Par exemple, le code suivant déplace le curseur sur la première ligne de CustTable pour laquelle la valeur dans la colonne Company est "Professional Divers, Ltd." :
var
LocateSuccess: Boolean;
SearchOptions: TLocateOptions;
begin
SearchOptions := [loPartialKey];
LocateSuccess := CustTable.Locate('Company', 'Professional Divers, Ltd.', SearchOptions);
end;
TLocateOptions SearchOptions;
SearchOptions.Clear();
SearchOptions << loPartialKey;
bool LocateSuccess = CustTable->Locate("Company", "Professional Divers, Ltd.",
Si Locate trouve une correspondance, le premier enregistrement contenant cette correspondance devient l'enregistrement en cours. Locate renvoie True si une correspondance est trouvée, False dans le cas contraire. Si la recherche échoue, l'enregistrement en cours reste le même.
Le vrai potentiel de Locate se manifeste quand vous effectuez une recherche sur plusieurs colonnes et que vous spécifiez plusieurs valeurs recherchées. Celles-ci sont des Variants, et vous pouvez donc spécifier des types de données différents pour vos critères de recherche. Pour spécifier plusieurs colonnes dans une chaîne de recherche, séparez les éléments de la chaîne par des points-virgules.
Les valeurs recherchées étant des Variants, pour transmettre plusieurs valeurs, vous devez soit transmettre un type tableau de Variants comme argument (par exemple, les valeurs renvoyées par la méthode Lookup), soit construire le tableau de Variants à la volée en utilisant la fonction VarArrayOf. Le code suivant illustre une recherche sur plusieurs colonnes faisant intervenir de multiples valeurs de recherche et utilisant les correspondances de clés partielles :
with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver','P']), loPartialKey);
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");
CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts); |
Partager