|
|
|
|
|
- Présentation
- Initialisation d'un champ Table par programmation
- Ajout de lignes dans un champ Table par programmation
- Gestion des colonnes calculées
- Modification d'une ligne ou d'une colonne
- Opérations sur les lignes et les cellules
- Suppression d'une ligne
- Récupération d'une ligne ou d'une cellule
- 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 d'une ligne spécifique
Champ Table par programmation : manipuler en WLangage
Voici les principaux points de la manipulation en WLangage des champs Table remplis par programmation. Le WLangage met à votre disposition de nombreuses fonctions permettant de gérer par programmation ce type de champ. N'hésitez pas à consulter la documentation de ces fonctions. Initialisation d'un champ Table par programmation La création d'une ligne d'un champ Table n'est pas automatique. Elle doit être demandée explicitement par un appel aux fonctions : Remarque : si l'option "Saisie en cascade (Ajout)" n'est pas sélectionnée : - A sa création, un champ Table ne comporte aucune ligne :
TABLE_MaTable.Occurrence = 0. Dans ce cas, aucune saisie n'est possible et la propriété Vide est à Vrai. - Pour insérer automatiquement une ligne si le champ Table est vide, il faut utiliser les lignes de code suivantes dans l'événement "Initialisation" du champ Table :
SI TABLE_MaTable.Vide = Vrai ALORS TableAjoute(TABLE_MaTable)
Ajout de lignes dans un champ Table par programmation L'ajout de lignes dans un champ Table par programmation est réalisé : 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. Par exemple : // COL_PHT : colonne calculée // COL_PUHT et COL_QTE : colonnes remplies par programmation COL_PHT = COL_PUHT * COL_QTE
Modification d'une ligne ou d'une colonne Le contenu des lignes et des colonnes d'un champ Table peut être modifié : - par l'utilisateur, en saisissant directement dans les colonnes. Les modifications sont mémorisées automatiquement dans le champ Table, sans programmation complémentaire. La propriété Modifié est à Vrai.
- par programmation :
- avec la fonction TableModifie pour modifier le contenu de la ligne en cours ou d'une ligne donnée.
Par exemple :
TableModifie(TABLE_CLIENT, "PY" + TAB + "Jean" + TAB + "Nîmes")
Remarque : il est également possible d'utiliser directement le nom du champ Table :
// Modifier la ligne en cours TABLE_CLIENT = "DURAND" + TAB +"Sophie" + TAB + "Nîmes" // Modifier la ligne 3 TableModifie(TABLE_JOUR, "Mercredi" + TAB + "Vaqué", 3)
- directement en donnant le nom de la colonne (comme pour un champ de saisie) pour modifier le contenu de la colonne. Pour modifier une colonne d'une ligne précise, il faut indiquer le numéro de la ligne (indice).
Par exemple :
COL_NOM[Indice] = SAI_NomClient
Pour modifier une colonne de la ligne en cours, il n'est pas nécessaire de préciser l'indice. Par exemple :
La propriété Modifié est à Faux (elle n'est mise à Vrai que par une saisie dans le champ Table).
SI SansEspace(COL_PRODUIT) = "" ALORS
Erreur("La colonne Produit doit être saisie en premier")
DonneFocusEtRetourUtilisateur(COL_PRODUIT)
FIN
Opérations sur les lignes et les cellules Suppression d'une ligne La suppression d'une ligne doit être demandée explicitement à l'aide de la fonction TableSupprime. La syntaxe utilisée est :
TableSupprime(<Champ Table>[, <Indice>]) Si l'indice est précisé, la fonction TableSupprime supprime la ligne correspondant à l'indice. Sinon, elle supprime la ligne en cours. Par exemple :
TableSupprime(TABLE_CLIENT)
La suppression d'une ligne du champ Table supprime toutes les valeurs des colonnes pour cette ligne. La sélection d'une ligne s'effectue avec la fonction TableSelectPlus. La syntaxe utilisée est :
TableSelectPlus(<Champ Table>[, <Indice>]) Récupération d'une ligne ou d'une cellule Le contenu d'un champ Table rempli par programmation peut être récupéré : - soit la ligne entière.
- soit cellule par cellule.
Valeur d'une cellule de la ligne en cours Pour récupérer la valeur d'une colonne (ou cellule) de la ligne en cours, la syntaxe est la même que pour un champ de saisie simple.
Exemple :
// COL_QTE est une colonne du champ Table SI COL_QTE < 10 ALORS Info("Qté insuffisante") FIN
Valeur d'une cellule pour une ligne spécifique Pour récupérer la valeur d'une colonne qui n'est pas sur la ligne en cours, il faut passer l'indice de la ligne.
<Valeur> = <Nom Colonne>[<Indice>] Par exemple : // Totaliser le Prix PHT pour toutes les lignes de commande PrixTotal = 0 POUR Indice = 1 _À_ TABLE_COMMANDE.Occurrence PrixTotal = PrixTotal + COL_PHT[Indice] FIN
Contenu de la ligne en cours Pour récupérer le contenu de la ligne en cours, la syntaxe est la suivante :
Contenu d'une ligne spécifique Pour récupérer le contenu de la ligne d'indice <Indice>, la syntaxe est la suivante :
<Valeur> = <Champ Table>[<Indice>] Remarque : L'indice de la ligne en cours peut être connu par la fonction TableSelect. Par exemple :
// Récupérer la ligne 10 dans le champ Table TABLE_CLIENT LigneEnCours = TABLE_CLIENT[10]  // Nom du client sélectionné NomClient = COL_NOM[TableSelect(TABLE_CLIENT)]  // Récupérer la ligne en cours dans le champ Table TABLE_CLIENT LigneEnCours = TABLE_CLIENT
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|