Bde.DBTables.TTable.SetRange

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure SetRange(const StartValues, EndValues: array of const);

C++

void __fastcall SetRange(const System::TVarRec *StartValues, const int StartValues_High, const System::TVarRec *EndValues, const int EndValues_High);

Propriétés

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


Description

Définit et applique les valeurs de départ et de fin d'un intervalle.

La méthode SetRange permet de spécifier un intervalle et de l'appliquer à l'ensemble de données. Le cas échéant, le nouvel intervalle remplace celui actuellement spécifié.

StartValues indique les valeurs de champ désignant le premier enregistrement de l'intervalle. StartValues_Size spécifie l'index de la dernière valeur de StartValues (une de moins que le nombre total de valeurs).

EndValues indique les valeurs de champ désignant le dernier enregistrement de l'intervalle. EndValues_Size spécifie l'index de la dernière valeur de EndValues (une de moins que le nombre total de valeurs).

SetRange combine les fonctionnalités de SetRangeStart, SetRangeEnd et ApplyRange en un seul appel de procédure. SetRange effectue les actions suivantes :

  1. Placer l'ensemble de données dans le mode dsSetKey.
  2. Effacer les valeurs de début et de fin d'intervalle spécifiées auparavant.
  3. Définir les valeurs de début et de fin d'intervalle.
  4. Appliquer l'intervalle à l'ensemble de données.

Si StartValues ou EndValues contient moins d'éléments qu'il n'y a de champs dans l'index en cours, les entrées restantes sont définies à NULL.

Après un appel à SetRange, le curseur se positionne sur le premier enregistrement de l'intervalle. Néanmoins, si deux appels de SetRange sont effectués consécutivement avec les mêmes paramètres, le second appel interne est optimisé ailleurs.


Remarque :  Avec les tables Paradox ou dBASE, SetRange ne fonctionne que sur les champs indexés. Avec des bases de données SQL, SetRange fonctionne pour toute colonne spécifiée dans la propriété IndexFieldNames.

Voir aussi

Exemples de code