version 11 (Modifiée)
SUPPRIMER SOUS ENREGISTREMENT (sousTable)
Paramètre | Type | Description | |
sousTable | Sous-table | Sous-table de laquelle supprimer le | |
sous-enregistrement courant |
Note de compatibilité : Les sous-tables ne sont plus prises en charge à compter de la version 11 de 4D. Un mécanisme de compatibilité assure le fonctionnement de cette commande dans les bases de données converties, toutefois il est fortement conseillé de remplacer les sous-tables par des tables liées standard.
Description
SUPPRIMER SOUS ENREGISTREMENT supprime le sous-enregistrement courant de sousTable. S'il n'y a pas de sous-enregistrement courant, SUPPRIMER SOUS ENREGISTREMENT ne fait rien. Après la suppression, la sous-sélection courante de sousTable est vide. En conséquence, la commande SUPPRIMER SOUS ENREGISTREMENT ne peut pas être utilisée pour parcourir une sous-sélection et supprimer des sous-enregistrements sélectionnés.
La suppression d'un sous-enregistrement n'est pas définitive tant que l'enregistrement parent n'est pas validé. La suppression d'un enregistrement parent entraîne automatiquement la suppression de tous ses sous-enregistrements.
Pour supprimer une sous-sélection, vous devez d'abord créer la sous-sélection, puis supprimer le premier sous-enregistrement, recréer la sous-sélection puis supprimer de nouveau le premier enregistrement, etc.
Exemples
(1) L'exemple suivant supprime tous les sous-enregistrements d'une sous-table :
TOUS LES SOUS ENREGISTREMENTS([Personnes]Enfants) Tant que (Sous enregistrements trouves([Personnes]Enfants)>0) SUPPRIMER SOUS ENREGISTREMENT([Personnes]Enfants) TOUS LES SOUS ENREGISTREMENTS([Personnes]Enfants) Fin tant que
(2) L'exemple suivant supprime de la sous-table [Personnes]Enfants tous les sous-enregistrements dans lesquels l'âge des enfants est supérieur ou égal à 12 ans :
TOUT SELECTIONNER([Personnes]) ` Sélection de tous les enregistrements Boucle ($vELEnrg;1;Enregistrements trouves([Personnes])) ` Pour chaque enregistrement ` Recherche de tous les enregistrements ayant des sous-enregistrements correspondant aux critères CHERCHER SOUS ENREGISTREMENTS([Personnes]Enfants;[Personnes]Enfants'Age>=12) ` Boucle jusqu'à ce que la recherche ne trouve plus d'enregistrement Tant que (Sous enregistrements trouves([Personnes]Enfants)>0) ` Supprimer le sous-enregistrement SUPPRIMER SOUS ENREGISTREMENT([Personnes]Enfants) ` On poursuit la recherche CHERCHER SOUS ENREGISTREMENTS([Personnes]Enfants;[Personnes]Enfants'Age>=12) Fin tant que STOCKER ENREGISTREMENT([Personnes]) ` Sauvegarde de l'enregistrement parent ENREGISTREMENT SUIVANT([Personnes]) Fin de boucle
Référence
CHERCHER SOUS ENREGISTREMENTS, Sous enregistrements trouves, STOCKER ENREGISTREMENT, TOUS LES SOUS ENREGISTREMENTS.