Accueil > Vie des sites > 4e Dimension > Champ de type « sous-table » et sous-formulaire
Développement 4D
Champ de type « sous-table » et sous-formulaire
Comment utiliser un sous-formulaire pour remplacer un champ « sous-table »
mercredi 25 mars 2015, par
Les champs de type « sous-table » et les instructions associées sont obsolètes et doivent être remplacés par des tables et des sous-formulaires. Lors de la conversion d’une base, 4D crée des tables pour les champs « sous-tables ». Les champs des tables ainsi créées peuvent être utilisés dans un sous-formulaire. Mode d’emploi.
Conversion d’une base comportant des sous-tables
Lors de la conversion d’une base comportant des champs de type « sous-table », 4D crée des tables pour ceux-ci. Dans l’exemple suivant, la table FACTURES comportait un champ « lignes » de type « sous-table ». Après conversion, la structure se présente ainsi :

Avant conversion, les lignes d’une facture étaient enregistrées dans la sous-table « lignes » qui était un champ de la table FACTURES. La conversion permettra d’enregistrer les lignes d’une facture dans la table LIGNES. Pour identifier à quelle facture appartient une ligne de cette table, il faut, lors de l’enregistrement d’un facture, associer un identifiant à chacune de ses lignes.
Sous-formulaire de la page de saisie des factures
Les lignes de la facture apparaissent dans un sous-formulaire placé dans la page de saisie des factures.

Ce sous-formulaire a pour source la table LIGNES et utilise un formulaire saisissable en liste de cette table.
Code associé au formulaire saisissable en liste et au sous-formulaire
Le formulaire saisissable en liste comporte une méthode qui permet d’associer chaque ligne à la facture en cours de saisie. L’identifiant de la facture est affecté à l’identifiant de la ligne.

L’identifiant de la facture est créé par une méthode associée au sous-formulaire. Cette méthode est exécutée lors du chargement.
Si (Nouvel enregistrement([FACTURES]))
[FACTURES]ID_Fact:=Numerotation automatique([FACTURES])
Fin de si