version 5
SUPPRIMER SELECTION {(laTable)}
Paramètre | Type | Description | |
laTable | Table | Table de laquelle supprimer la sélection courante | |
ou Table par défaut si ce paramètre est omis |
Description
La commande SUPPRIMER SELECTION supprime la sélection courante d'enregistrements de laTable. Si la sélection courante est vide, SUPPRIMER SELECTION ne fait rien. Après la suppression des enregistrements, la sélection courante est vide. Les enregistrements supprimés pendant une transaction sont verrouillés pour les autres utilisateurs et/ou process jusqu'à ce que la transaction soit validée ou annulée.
Attention : La suppression d'une sélection d'enregistrements est une opération définitive. Elle ne peut être annulée par la suite.
L'option Enregistrement(s) définitivement supprimé(s) de l'Inspecteur des tables vous permet d'augmenter la vitesse des suppressions lors de l'utilisation de SUPPRIMER SELECTION.
Exemple
(1) L'exemple suivant affiche tous les enregistrements de la table [Personnes] et permet à l'utilisateur de sélectionner ceux qu'il souhaite effacer. L'exemple est en deux parties. La première est la méthode affichant les enregistrements. La seconde est la méthode objet d'un bouton 'Supprimer'. Voici la première méthode :
TOUT SELECTIONNER ([Personnes]) ` Sélection de tous les enregistrements FORMULAIRE SORTIE ([Personnes]; "FormSortie") ` Définition du formulaire listant les enregistrements VISUALISER SELECTION ([Personnes]) ` Affichage de tous les enregistrements
Voici la méthode objet du bouton Supprimer, apparaissant dans le pied de page du formulaire sortie. La méthode utilise les enregistrements sélectionnés par l'utilisateur (l'ensemble système UserSet) pour effacer la sélection (notez que si l'utilisateur ne sélectionne aucun enregistrement, SUPPRIMER SELECTION ne fait rien) :
` Demander confirmation que l'utilisateur veut réellement supprimer les enregistrements CONFIRMER ("Vous avez sélectionné "+Chaine(Enregistrements dans ensemble("UserSet"))+ " enregistrements à supprimer."+Caractere(13)+"Cliquez sur OK pour confirmer l'opération.") Si(OK=1) UTILISER ENSEMBLE("UserSet") ` Utiliser l'ensemble défini par l'utilisateur SUPPRIMER SELECTION([Personnes]) ` Supprimer la sélection d'enregistrements Fin de si TOUT SELECTIONNER([Personnes]) ` Sélection de tous les enregistrements
(2) Lorsqu'un SUPPRIMER SELECTION rencontre un enregistrement verrouillé, celui-ci n'est pas supprimé. Tous les enregistrements verrouillés sont placés dans un ensemble système nommé LockedSet. Après l'exécution de SUPPRIMER SELECTION, vous pouvez tester cet ensemble afin de vérifier si des enregistrements étaient verrouillés. La boucle suivante s'exécutera jusqu'à ce que tous les enregistrements aient été supprimés.
Repeter ` Répéter pour chaque enregistrement verrouillé SUPPRIMER SELECTION ([CetteTable]) Si (Enregistrements dans ensemble("LockedSet")#0) ` Si des enregistrements sont verrouillés UTILISER ENSEMBLE("LockedSet") ` Sélectionner les enregistrements verrouillés Fin de si Jusque (Enregistrements dans ensemble("LockedSet")=0) ` Jusqu'à ce qu'il n'y en ait plus
Référence
MODIFIER SELECTION, Présentation des ensembles, Verrouillage d'enregistrements, VIDER TABLE, VISUALISER SELECTION.