TAB-ACTION
BUT
Ce mot clé permet dans une requête de type RCT de gérer les principales actions de gestion d’un Tableur Dynamique.
SYNTAXE
[VLO. Resultat ] = TAB-ACTION (TAB-ACT= [Action], LIGNE = [CLO.« Ligne » ] ou [ VLO.Ligne ] ou [LIG-COU], COLONNE [CLO.« Colonne » ] ou [ VLO.Colonne ] ou[COL-COU], TYPE = [Type], CLE = [CLO.« Valeur » ] [VLO.Valeur ], NB-LIGNE = [CLO.« Valeur » ] [VLO.Valeur ], VALEUR = [CLO.« Valeur » ] [VLO.Valeur ], ATTRIBUTS = [CLO.« Valeur » ] [VLO.Valeur ]
PARAMETRES
Paramètre | E/S | O | Type | Description |
TAB-ACT : action à effectuer | E | Oui | Caractère |
|
LIGNE | E | Oui | Entier | Numéro de la Ligne correspondante (type entier). |
COLONNE | E | Oui | Caractère | Colonne correspondante (idem REC-ZONE et INIT-ZONE). |
CLE | E | Oui | Caractère | Clé correspondante (pour MAJ-CLE) |
NB-LIGNE | E | Oui | Caractère | Nombre de lignes (pour SUP-LIG, AJU-LIG, AJD-LIG) |
TYPE | E | Oui | Caractère | CARACTERE, NUMERIQUE, DATE ou LOGIQUE |
VALEUR | E | Oui | Caractère | Valeur correspondante |
ATTRIBUTS | E | Oui | Caractère | Valeur des attributs et des couleurs à appliquer à la ligne et/ou à la cellule. sous forme de liste chaînée |
DETAIL DES ACTIONS
REC-VAL
VLO. Resultat = TAB-ACTION ( TAB-ACT=REC-VAL, LIGNE=LIG-COU, COLONNE=COL-COU, TYPE=CARACTERE, VALEUR=VLO.Valeur )
L’action REC-VAL recherche la valeur d’une cellule (équivalent à REC-ZONE). VLO.Valeur contiendra la valeur trouvée. Ce doit être une variable du type précisé dans le paramètre « TYPE ». VLO.Resultat contiendra le résultat de la mise à jour :
<vide> = OK
*INC = erreur inconnue
*GESNUM = erreur de gestion de la numérotation (soit WfTabGen.GesNum est faux, soit une erreur interne s’est produite)
*COL = colonne passée en paramètre inconnue
*LIG = ligne passée en paramètre inconnue
Si le paramètre « TYPE » ne correspond pas au type de la cellule, DIAPASON fera une conversion pour obtenir une valeur dans le type souhaité. Dans ce cas, la valeur retournée peut être erronée.
MAJ-VAL
VLO. Resultat = TAB-ACTION ( TAB-ACT=MAJ-VAL, LIGNE=CLO.8, COLONNE=COL-COU, TYPE=CARACTERE, VALEUR=VLO.Valeur )
L’action MAJ-VAL place une valeur dans une cellule (équivalent à INIT-ZONE). VLO.Valeur contient la valeur à mettre à jour. Ce doit être une variable du type précisé dans le paramètre « TYPE ». VLO.Resultat contiendra le résultat de la mise à jour.
Si le paramètre « TYPE » ne correspond pas au type de la cellule, DIAPASON fera une conversion pour alimenter la valeur dans le type souhaité. Dans ce cas, la valeur affichée peut être erronée.
MAJ-CLE
VLO. Resultat = TAB-ACTION (TAB-ACT=MAJ-CLE, LIGNE= LIG-COU, CLE=VLO.Valeur )
L’action MAJ-CLE met à jour la clé d’une ligne (WfTabVal.CleLig). Cette clé est alimentée automatiquement pour les lignes créées dans la requête REB/RTD avec le contenu de la colonne précisée dans WfTabGen.CleCol.
SUP-LIG
VLO. Resultat = TAB-ACTION ( TAB-ACT=SUP-LIG, LIGNE=LIG-COU, NB-LIGNE=VLO.NbLigASup )
L’action SUP-LIG supprime n lignes à partir et en dessous de la ligne précisée dans le paramètre « LIGNE ». Chaque suppression de ligne va exécuter la requête RCT correspondante et un « LC-ERREUR » annule les suppressions suivantes.
AJU-LIG
VLO. Resultat = TAB-ACTION ( TAB-ACT=AJU-LIG, LIGNE=LIG-COU, NB-LIGNE=VLO.NbLigAInser )
L’action AJU-LIG ajoute n lignes au-dessus de la ligne précisée dans le paramètre « LIGNE ». Chaque création de ligne va exécuter la requête RCT correspondante et un « LC-ERREUR » annule les créations suivantes.
AJD-LIG
VLO. Resultat = TAB-ACTION ( TAB-ACT=AJD-LIG, LIGNE=LIG-COU, NB-LIGNE=VLO.NbLigAInser )
L’action AJD-LIG ajoute n lignes en dessous de la ligne précisée dans le paramètre « LIGNE ». Chaque création de ligne va exécuter la requête RCT correspondante et un « LC-ERREUR » annule les créations suivantes.
MAJ-ATT
VLO. Resultat = TAB-ACTION ( TAB-ACT=MAJ-ATT,LIGNE=LIG-COU, ATTRIBUTS=VLO.Att )
L’action MAJ-ATT met à jour la couleur de fond ainsi que la couleur et les attributs du texte de la ligne précisée dans le paramètre « LIGNE », avec les attributs donnés dans le paramètre « ATTRIBUTS ».
La variable VLO.Att doit être initialisée comme suit :
VLO.Att = CLO."Référence_Apparence_Liste" où Référence_Apparence_Liste est une référence d’apparence liste définie dans le DIAPASON courant (visibles dans le « A Propos de DIAPASON » ou depuis l’application de définition des apparences listes)
OU
VLO.Att = CLO."LIG-BG=15;LIG-FG=VERT;LIG-AT=GRA"
Syntaxe pour couleur du fond de la ligne : LIG-BG. | Syntaxe pour couleur du texte de la ligne : LIG-FG. | Syntaxe pour les attributs du texte de la ligne : LIG-AT. |
Si le paramètre passé à la fonction TAB-ACTION contient « LIG-BG= » suivi d’un code couleur, la couleur est appliquée à la ligne. Le code couleur doit faire partie de la liste suivante :
| Si le paramètre passé à la fonction TAB-ACTION contient « LIG-FG= » suivi d’un code couleur, la couleur est appliquée à la ligne. Le code couleur doit faire partie de la liste suivante :
| Si le paramètre passé à la fonction TAB-ACTION contient « LIG-AT= » suivi d’un code attribut, cet attribut est appliqué à la ligne. Le code attribut doit faire partie de la liste suivante :
|
REC-ATT
L’action REC-ATT recherche la couleur de fond ainsi que la couleur et les attributs du texte de la ligne précisée dans le paramètre « LIGNE » et la variable VLO.Resultat contient la liste chaînée des attributs sous la forme :
VLO.Att = CLO."Référence_Apparence_Liste" où Référence_Apparence_Liste est une référence d’apparence liste définie dans le DIAPASON courant (visibles dans le « A Propos de DIAPASON » ou depuis l’application de définition des apparences listes)
OU
VLO.Att = "LIG-BG=couleur_de_fond;LIG-FG=couleur_du_texte;LIG-AT=attribut_du_texte"
Syntaxe pour couleur du fond de la ligne : LIG-BG. | Syntaxe pour couleur du texte de la ligne : LIG-FG. | Syntaxe pour les attributs du texte de la ligne : LIG-AT. |
Le code couleur fait partie de la liste suivante :
| Le code couleur fait partie de la liste suivante :
| Le code attribut fait partie de la liste suivante :
|
MAJ-ATC
VLO. Resultat = TAB-ACTION ( TAB-ACT=MAJ-ATC,LIGNE=LIG-COU,COLONNE=COL-COU, ATTRIBUTS=VLO.Att )
L’action MAJ-ATC met à jour la couleur de fond ainsi que la couleur et les attributs du texte de la cellule précisée avec les paramètres « LIGNE » et « COLONNE », avec les attributs donnés dans le paramètre « ATTRIBUTS ».
La variable VLO.Att doit être initialisée comme suit :
VLO.Att = CLO."Référence_Apparence_Liste" où Référence_Apparence_Liste est une référence d’apparence liste définie dans le DIAPASON courant.
REC-ATC
VLO. Resultat = TAB-ACTION ( TAB-ACT=REC-ATC,LIGNE=LIG-COU,COLONNE=COL-COU, ATTRIBUTS=VLO.Att )
L’action REC-ATC recherche la couleur de fond ainsi que la couleur et les attributs du texte de la cellule précisée par les paramètres « LIGNE » et « COLONNE » et la variable VLO.Resultat contient la liste chaînée des attributs sous la forme :
"Référence_Apparence_Liste" : Code apparence de type liste .
EXEMPLES
Exemple 1 : Cette requête permet de mettre à jour la ligne qui est à la suite de la ligne de saisie avec la valeur courante.
SI SCR.RCT_TypeAction = CLO."MOD"
COMMENTAIRE : "Recherche valeur courante"
VLO.Resultat = TAB-ACTION( TAB-ACT= REC-VAL , LIGNE= LIG-COU , COLONNE= COL-COU , TYPE= CARACTERE , VALEUR= VLO.ValeurC )
VLO.LigSuiv = SCR.RCT_NumLig + 1.
COMMENTAIRE : "Mise à jour ligne suivante"
VLO.Resultat = TAB-ACTION( TAB-ACT= MAJ-VAL , LIGNE= VLO.LigSuiv, COLONNE= COL-COU , TYPE= CARACTERE , VALEUR= VLO.ValeurC )
FIN BLOC
Exemple 2 : Cette requête permet de mettre à jour la « clé » de la ligne courante avec le contenu d’une colonne.
SI SCR.RCT_TypeAction = CLO."MOD"
COMMENTAIRE : "Recherche valeur de la clé"
VLO.Resultat = TAB-ACTION( TAB-ACT= REC-VAL , LIGNE= LIG-COU , COLONNE= CLO."Reference" , TYPE= CARACTERE , VALEUR= VLO.ValeurC )
COMMENTAIRE : "Mise à jour clé ligne"
VLO.Resultat = TAB-ACTION( TAB-ACT= MAJ-CLE , LIGNE= LIG-COU , CLE= VLO.ValeurC )
FIN BLOC
Exemple 3 : Cette requête permet de supprimer 2 lignes au-dessus de la courante.
VLO.LigASup = SCR.RCT_NumLig – CLO.2
VLO.Resultat = TAB-ACTION( TAB-ACT= SUP-LIG , LIGNE= VLO.LigASup , NB-LIGNE= CLO.2 )
Exemple 4 : Cette instruction permet d’insérer une ligne en dessous de la ligne courante.
VLO.Resultat = TAB-ACTION( TAB-ACT= AJD-LIG , LIGNE= LIG-COU , NB-LIGNE= CLO.1 )
REMARQUES
Important : l’utilisation de cette fonction est possible à condition de renseigner « WFTabGen .GesNum » dans la requête REB/RTD correspondante. Si ce n’est pas le cas, la fonction renverra « *GESNUM ».
L’utilisation de « LC-ERREUR » dans une RCT déclenchée par un « TAB-ACTION » annule l’action prévue.
Les variables suivantes sont utiles avec le TAB-ACTION :
SCR.RCT_NumLig : numéro de la ligne courante.
SCR.RCT_CleLig : clé de la ligne courante
Dans cette version, l’utilisation de cette fonction en mode caractère est limitée à « REC-VAL » et « MAJ-VAL ».