Utilisation de champs calculés de façon interne dans les ensembles de données client

De RAD Studio
Aller à : navigation, rechercher

Remonter à Représentation des valeurs calculées


Dans les autres ensembles de données, votre application doit déterminer la valeur des champs calculés chaque fois que l'enregistrement change ou que l'utilisateur modifie l'un des champs de l'enregistrement en cours. Elle réalise cela dans un gestionnaire d'événement DB.OnCalcFields.

Bien que vous puissiez utiliser ce procédé dans les ensembles de données client, ces derniers, en enregistrant les valeurs calculées dans leurs données, vous permettent de réduire au minimum le nombre de fois où les champs calculés doivent être recalculés. Lorsque les valeurs calculées sont enregistrées avec l'ensemble de données client, elles doivent toujours être recalculées lorsque l'utilisateur modifie l'enregistrement en cours mais votre application n'a pas besoin de recalculer les valeurs chaque fois que l'enregistrement en cours change. Pour enregistrer les valeurs calculées dans les données de l'ensemble de données client, utilisez des champs calculés de façon interne à la place de champs calculés.

Les champs calculés de façon interne, comme les champs calculés, sont calculés dans un gestionnaire d'événement OnCalcFields. Toutefois, vous pouvez optimiser votre gestionnaire d'événement en vérifiant la propriété State de votre ensemble de données client. Lorsque State vaut dsInternalCalc, vous devez recalculer les champs calculés de façon interne. Lorsque State vaut dsCalcFields, il suffit de recalculer les champs calculés ordinaires.

Pour utiliser des champs calculés de façon interne, vous devez définir les champs devant être calculés de façon interne avant de créer l'ensemble de données client. Selon que vous utilisez des champs persistants ou des définitions de champs, vous ferez cela d'une des façons suivantes :

  • Si vous utilisez des champs persistants, définissez les champs devant être calculés de façon interne en sélectionnant InternalCalc dans l'éditeur de champs.
  • Si vous utilisez des définitions de champs, attribuez la valeur True à la propriété InternalCalcField de la définition de champ adéquate.

Remarque :  D'autres types d'ensembles de données utilisent des champs calculés de façon interne. Mais, vous ne calculez pas les valeurs de ces champs dans un gestionnaire d'événement OnCalcFields. Elles sont automatiquement calculées par le BDE ou par le serveur de base de données distant.

Voir aussi