API:FireDAC.Comp.Client.TFDStoredProc.Aggregates

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property Aggregates;

C++

__property Aggregates;

Propriétés

Type Visibilité  Source Unité  Parent
property published
FireDAC.Comp.Client.pas
FireDAC.Comp.Client.hpp
FireDAC.Comp.Client TFDStoredProc

Description

La collection des agrégats côté client définis pour l'ensemble de données.

FireDAC.Comp.Client.TFDStoredProc.Aggregates hérite de FireDAC.Comp.DataSet.TFDDataSet.Aggregates. Tout le contenu en-dessous de cette ligne se réfère à FireDAC.Comp.DataSet.TFDDataSet.Aggregates.

La collection des agrégats côté client définis pour l'ensemble de données.

Utilisez Aggregates pour définir les formules d'agrégation côté client, qui sont automatiquement maintenues et calculées pour un groupe d'enregistrements ou pour tous les enregistrements de l'ensemble de données. 

Tous les enregistrements du groupe d'enregistrements ont les mêmes valeurs de champs pour l'ensemble de champs défini. La propriété Aggregates effectue des calculs pour les groupes d'enregistrements qui sont associés à l'un des index. Ces expressions d'agrégation seront calculées seulement si l'index associé est actif et en cours. 

L'ajout d'un champ d'agrégation n'ajoute pas un objet TFDAggregate à la collection Aggregates. Il existe deux façons de procéder : utiliser des champs d'agrégation ou utiliser Aggregates

DataSet maintient et calcule automatiquement les valeurs Aggregates quand l'ensemble de données récupère les données ou quand l'application modifie les données, si AggregatesActive vaut True. Si l'application a besoin d'effectuer de larges mises à jour sur l'ensemble de données et que des valeurs d'agrégation ne sont pas requises lors de la mise à jour, définissez alors AggregatesActive sur False avant la mise à jour, puis revenez à la valeur d'origine après la mise à jour. Vous pouvez aussi consulter les méthodes BeginBatch et EndBatch

Quand les agrégats sont maintenus, la méthode Value de chaque objet d'agrégation actif renvoie une valeur qui reflète les données en cours de l'ensemble de données. Quand les utilisateurs modifient les données de l'ensemble de données, ces valeurs sont recalculées pour refléter les modifications des utilisateurs. 

Les expressions de Aggregates doivent contenir des fonctions d'agrégation, telles que SUM, COUNT. FireDAC supporte la syntaxe étendue des expressions.

Exemple

with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  Active := True;
end;
with FDMemTable1.Aggregates.Add do begin
  Expression := 'sum(sal + bonus)';
  IndexName := 'by_deps';
  Active := True;
end;
FDMemTable1.IndexName := 'by_deps';
FDMemTable1.AggregatesActive := True;

Label1.Caption := 'Total payments : ' + VarToStr(FDMemTable1.Aggregates[0].Value);
Label2.Caption := 'Current department payments : ' + VarToStr(FDMemTable1.Aggregates[1].Value);

Voir aussi

Exemples