4D v16.3APPLY TO SELECTION |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
APPLY TO SELECTION
APPLY TO SELECTION
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é Cet exemple utilise une méthode : ALL RECORDS([Emp]) 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
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Modifié : 4D v11 SQL UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||