Cette gestion permet de définir un ordre SQL (select uniquement) exécuté après la saisie d'un champ.
La référence à un champ de l'écran dans le code du SQL se fait grâce au mot-clé qui lui correspond, préfixé et suffixé par des "#". La définition des champs à alimenter par cet ordre "select" se fait grâce au bouton "Champ en sortie". Le nombre de ces champs doit être identique au nombre de colonnes ramenées par le "select".
Attention : Il est conseillé de limiter le nombre d'ordres "select" et d'essayer de regrouper les champs en sortie sur un même ordre "select". Ceci dans un souci de performance.
Une particularité des évènements multi lignes est de pouvoir faire des cumuls des lignes pour un en-tête. Pour ceci il faut mettre un code particulier au niveau de l'ordre "select" : (#NUMERIQUE1[+, 7]#). Dans la syntaxe encadrée par des "#" est précisé le nom du champ "NUMERIQUE1" suivi d'une structure entre crochets "[+, 7]". Dans cette syntaxe nous retrouvons 2 éléments séparés par une virgule. L'élément 1 représente l'opérateur "+", le deuxième fait référence au numéro de champ en sortie. Dans cet exemple, nous allons cumuler la somme de tous les "NUMERIQUE1" de toutes les lignes correspondant à un en-tête, pour les stocker dans le champ en sortie N° 7. Un 3ième paramètre facultatif permet de gérer une valeur de substitution si la colonne est vide. Par exemple : - (#NUMERIQUE1[/, 7, 1]#) ou - #EN4[||,2,ESP]#
La chaîne de caractères < ESP > sera remplacée par un espace. Si le caractère de substitution n'est pas précisé, les valeurs suivantes sont prises en compte : - 0 (zéro) pour les numériques - (vide) pour les chaînes de caractères. |