|
|
|
|
|
- Présentation
- Sélection, ajout et modification d'une ligne dans un champ Table fichier
- Suppression d'une ligne dans un champ Table fichier
- Gestion des colonnes calculées
- Récupération du contenu d'une ligne, d'une colonne ou d'une cellule
- Important
- Valeur d'une cellule de la ligne en cours
- Valeur d'une cellule pour une ligne spécifique
- Contenu de la ligne en cours
- Contenu de la ligne X
- Contenu des lignes sélectionnées dans le cas d'une multisélection
Programmation des champs Table fichier
Voici les principaux points de la programmation des champs Table fichier. Le WLangage met à votre disposition de nombreuses fonctions permettant de gérer par programmation les champs Table fichier. Sélection, ajout et modification d'une ligne dans un champ Table fichier La sélection d'une ligne s'effectue avec la fonction TableSelectPlus. Si aucune rubrique mémorisée n'est définie pour le champ Table fichier, il est également possible d'utiliser la syntaxe :
<Champ Table> = <Numéro de la ligne à sélectionner> L'ajout et la modification d'une ligne dans le champ Table fichier (et d'un enregistrement dans le fichier de données) se décompose en deux phases : - Ajout ou modification de l'enregistrement dans le fichier de données (par une fenêtre ou une page de type fiche par exemple).
- Réaffichage du champ Table fichier :
- rafraîchissement du champ Table fichier.
Suppression d'une ligne dans un champ Table fichier Pour supprimer une ligne dans le champ Table fichier, utilisez la fonction TableSupprime. La fonction TableSupprime supprime l'enregistrement correspondant dans le fichier de données.
Important : Pour supprimer un enregistrement dans le fichier de données, il ne faut pas utiliser la fonction HSupprime sous peine de perte de données dans le fichier de données. Gestion des colonnes calculées La formule de calcul d'une colonne calculée doit être décrite dans l'événement "Affichage d'une ligne" du champ Table. Exemple de code dans l'événement "Affichage d'une ligne" du champ Table : // COL_MsgAlerte : une colonne calculée // La colonne COL_MsgAlerte affiche "Alerte" si COL_Stock<200 SI COL_Stock < 200 ALORS COL_MsgAlerte = "Alerte" SINON COL_MsgAlerte = "" FIN
Par définition, une colonne calculée n'est pas reliée à une rubrique : la valeur affectée par le code d'affichage d'une ligne n'est pas mémorisée après un défilement des lignes du champ Table via l'ascenseur vertical. Par exemple, l'instruction "POUR TOUTE LIGNE" ne permettra pas d'affecter ou de récupérer la valeur d'une colonne calculée de toutes les lignes du champ Table fichier. Si le champ Table est un champ Table fichier "Chargé en mémoire" (option "Chargé en mémoire" cochée dans l'onglet "Contenu" de la fenêtre de description du champ), les colonnes calculées seront mémorisées lors de l'exécution du champ Table. Récupération du contenu d'une ligne, d'une colonne ou d'une cellule Important Le contenu d'une ligne d'un champ Table fichier peut être récupéré : - soit en récupérant la ligne entière.
- soit cellule par cellule.
Valeur d'une cellule de la ligne en cours La cellule est identifiée par le nom de la colonne. La syntaxe à utiliser est la suivante :
<Valeur> = <Nom de la colonne> Exemple : // COL_QTE est une colonne du champ Table SI COL_QTE < 10 ALORS Info("Quantité insuffisante") FIN
Valeur d'une cellule pour une ligne spécifique La cellule est identifiée par le nom de la colonne. La syntaxe à utiliser est la suivante : <Valeur> = <Nom de la colonne>[<Indice de la ligne>] Exemple : // Totalise le Prix présent dans la colonne COL_PHT // pour toutes les lignes de commande affichées PrixTotal = 0 POUR Indice = 1 À TABLE_COMMANDE.Occurrence PrixTotal = PrixTotal + COL_PHT[Indice] FIN
Contenu de la ligne en cours La syntaxe à utiliser est la suivante : Il est également possible d'utiliser la syntaxe : <Valeur> = <Champ Table>[<Champ Table>] Contenu de la ligne X La syntaxe à utiliser est la suivante : <Valeur> = <Champ Table>[<Indice de la ligne>] Remarque : L'indice de la ligne peut être donné par la fonction TableSelect.
// Récupère la ligne en cours du champ TABLE_CLIENT LigneEnCours = TABLE_CLIENT  // Nom du client sélectionné NomCli = COL_NOM[TableSelect(TABLE_CLIENT)]
Contenu des lignes sélectionnées dans le cas d'une multisélection La syntaxe à utiliser est la suivante :
<Valeur> = <Champ Table>[<Indice de la ligne>] Remarque : Pour connaître les indices des lignes sélectionnées, il faut utiliser les fonctions TableSelectOccurrence et TableSelect.
// Trace le contenu des lignes sélectionnées i est un entier NbSelectionne est un entier = TableSelectOccurrence(TABLE_Produit) POUR i = 1 À NbSelectionne Trace("Ligne sélectionnée : " + ... TABLE_Produit[TableSelect(TABLE_Produit, i)]) FIN  // Equivalent à : // POUR TOUTE LIGNE SELECTIONNEE DE TABLE_Produit // Trace("Ligne sélectionnée : " + TABLE_Produit[TableSelect(TABLE_Produit, i)]) // FIN
Note : Les champs Table fichier multisélections ne sont pas disponibles : - Si le champ Table contient des ascenseurs proportionnels.
- Si le champ Table est de type "Compatible 5.5".
- Dans les champs Table affichés par les combos.
Remarque : La propriété Multisélection permet de connaître le mode de sélection d'un champ Table.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|