4D v16.3

APPLY TO SELECTION

Accueil

 
4D v16.3
APPLY TO SELECTION

APPLY TO SELECTION 


 

APPLY TO SELECTION ( laTable ; formule ) 
Paramètre Type   Description
laTable  Table in Table dans laquelle appliquer la formule
formule  Instruction in Ligne de code ou méthode

La commande APPLY TO SELECTION applique formule à chaque enregistrement de la sélection courante de laTable. La formule peut être une ligne d'instructions ou une méthode (dans ce cas, le nom de la méthode doit être saisi sans ""). Si formule entraîne la modification d'un enregistrement de laTable, l'enregistrement modifié est sauvegardé. Si formule ne modifie pas d'enregistrement, aucune sauvegarde n'est réalisée. Si la sélection courante est vide, APPLY TO SELECTION ne fait rien. La formule peut faire appel à un champ d'une table liée si le lien est automatique.

La commande APPLY TO SELECTION peut être utilisée pour récupérer et traiter des informations sur une sélection d'enregistrements (par exemple, calcul d'un total), ou pour modifier une sélection (par exemple, mettre en majuscule la première lettre d'un champ). Si cette commande est utilisée à l'intérieur d'une transaction, toutes les opérations réalisées pourront être annulées si la transaction n'est pas validée.

4D Server : Le serveur n'exécute aucune des commandes passées dans formule. Chaque enregistrement de la sélection est renvoyé sur le poste client pour traitement et modification.

Un thermomètre de progression s'affiche pendant l'exécution d'un APPLY TO SELECTION. Un appel préalable à la commande MESSAGES OFF permet de supprimer ce thermomètre. Lorsque le thermomètre de progression est affiché, l'utilisateur peut annuler l'opération.

L'exemple suivant met en majuscule tous les noms de la table :

 APPLY TO SELECTION([Emp];[Emp]Nom:=Uppercase([Emp]Nom))

Lorsque APPLY TO SELECTION rencontre un enregistrement verrouillé et le modifie, celui-ci n'est pas sauvegardé. Tous les enregistrements verrouillés rencontrés par la commande sont placés dans un ensemble système appelé LockedSet. Après l'exécution d'un APPLY TO SELECTION, il est recommandé de tester l'ensemble LockedSet pour vérifier la présence d'enregistrements verrouillés. La boucle suivante s'exécute jusqu'à ce que tous les enregistrements aient été modifiés :

 Repeat ` Pour chaque enregistrement verrouillé
    APPLY TO SELECTION([Emp];[Emp]Nom:=Uppercase([Emp]Nom))
    USE SET("LockedSet") ` Sélection des enregistrements verrouillés uniquement
  ` Jusqu'à ce qu'il n'y ait plus d'enregistrement verrouillé
 Until(Records in set("LockedSet")=0)

Cet exemple utilise une méthode :

 ALL RECORDS([Emp])
 APPLY TO SELECTION([Emp];Capitales)

Si l'utilisateur clique sur le bouton Stop dans le thermomètre de progression, la variable système OK prend la valeur 0. Sinon, elle prend la valeur 1.



Voir aussi  

EDIT FORMULA
Présentation des ensembles

 
PROPRIÉTÉS 

Produit : 4D
Thème : Sélections
Numéro : 70

Cette commande modifie la variable système OKCette commande modifie l'ensemble système LockedSetCommande(s) éligible(s) à l'exécution dans un process préemptifComportement différent en mode distant

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)