version 5
DIFFERENCE (ensemble1; ensemble2; résultat)
Paramètre | Type | Description | |
ensemble1 | Alpha | Ensemble initial | |
ensemble2 | Alpha | Ensemble à exclure | |
résultat | Alpha | Ensemble résultant |
Description
DIFFERENCE fusionne ensemble1 et ensemble2 et exclut de l'ensemble résultat tous les enregistrements se trouvant dans ensemble2. Autrement dit, un enregistrement est inclus dans l'ensemble résultat s'il appartient à ensemble1 mais n'appartient pas à ensemble2. Le tableau suivant liste les résultats possibles d'une opération de différence d'ensembles.
Ensemble1 | Ensemble2 | Ensemble résultant |
Oui | Non | Oui |
Oui | Oui | Non |
Non | Oui | Non |
Non | Non | Non |
Le schéma ci-dessous est la représentation graphique d'une opération de différence entre deux ensembles. La zone colorée est l'ensemble résultant.
L'ensemble résultat est créé par DIFFERENCE. Il remplace tout ensemble du même nom existant déjà, y compris ensemble1 et ensemble2. Les ensembles ensemble1 et ensemble2 doivent appartenir à la même table. L'ensemble résultat appartient à la même table que ensemble1 et ensemble2.
4D Server : En mode client/serveur, les ensembles interprocess et process sont conservés sur le poste serveur, alors que les ensembles locaux sont conservés sur les postes clients. DIFFERENCE requiert que les trois ensembles soient situés sur la même machine. Par conséquent, ils doivent tous être des ensembles locaux, ou bien aucun d'eux ne doit être local. Pour plus d'informations sur ce point, reportez-vous au paragraphe 4D Server et les ensembles dans le manuel de référence de 4D Server.
Exemple
L'exemple suivant exclut les enregistrements sélectionnés par l'utilisateur. Les enregistrements sont affichés à l'écran par l'instruction suivante :
VISUALISER SELECTION ([Clients]) ` Affichage des clients sous forme de liste
Un bouton associé à une méthode objet est placé en bas de la liste. La méthode objet exclut les enregistrements sélectionnés par l'utilisateur (l'ensemble système nommé UserSet) et affiche une sélection réduite :
NOMMER ENSEMBLE ([Clients]; "$Courant") ` Création d'un ensemble à partir de la sélection courante DIFFERENCE ("$Courant";"UserSet";"$Courant") ` Exclusion des enregistrements sélectionnés UTILISER ENSEMBLE ("$Courant") ` Utilisation du nouvel ensemble EFFACER ENSEMBLE ("$Courant") ` Effacement de l'ensemble
Référence