Sign in Join
Wiki copytemporary

locate/fr

English · Français

Définition

Unité: FreePascal, unité db

pascal
    function  Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; override;

Documentation officielle : Aucune.

Description

locate recherche un enregistrement dans le DataSet où correspondent les valeurs recherchées spécifiées avec les champs spécifiés. Si trouvé, la fonction retourne True et la position du curseur/l'enregistrement courant se déplace sur cet enregistrement.

KeyFields peut être un simple nom de champ ou une liste de noms de champ séparés par des points-virgules.

KeyValue peut être un variant ou un tableau de variants et le nombre des articles doit correspondre avec le nombre de champs spécifiés dans KeyFields, la correspondance est ordinale.

Les options de recherche peuvent être :

Note: Locate est seulement implémenté sur les DataSet non-unidirectionnels, i.e. vous devez pouvoir vous déplacer en arrière et vers l'avant du DataSet.

Note: Locate et lookup agissent à bas niveau dans le DataSet pour rechercher des enregistrements. Souvent, il est plus efficace de filtrer/limiter ce que l'on obtient dans le DataSet dès le départ i.e. en utilisant la clause SQL WHERE.

Exemples

Utilisation d'un DataSet TDBF en cherchant 'di Angelo', 'Di Angelo' etc. dans un champ appelé LASTNAME :

pascal
uses dbf, db
...
if MyDBF.Locate('LASTNAME','di Angelo',[loCaseInsensitive])then
  writeln('Found record.');

Utilisation de champs multiples pour trouver un enregistrement.

NB : vous devez ajouter l'unité variant dans votre clause uses.

pascal
uses Variants;
..
procedure LocateMyRecord;
var
  aCityID, aCountryID: integer;
begin
  if Locate('city_id;country_id', VarArrayOf([aCityID, aCountryID]), []) then
  begin
    DoSomething;
  end;
end;

Voir aussi


From the Free Pascal wiki, page "locate/fr", as it stood on 2020-02-19 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.