4D v16.3

RELATE ONE SELECTION

Accueil

 
4D v16.3
RELATE ONE SELECTION

RELATE ONE SELECTION 


 

RELATE ONE SELECTION ( tableN ; table1 ) 
Paramètre Type   Description
tableN  Table in Nom de la table N (d'où part le lien)
table1  Table in Nom de la table 1 (où arrive le lien)

La commande RELATE ONE SELECTION crée une nouvelle sélection d'enregistrements dans table1 à partir de la sélection d'enregistrements de la tableN qui lui est liée et charge le premier enregistrement de la nouvelle sélection en tant qu'enregistrement courant.

Cette commande ne peut être utilisée que s'il existe un lien de N vers 1. RELATE ONE SELECTION peut opérer au travers de plusieurs niveaux de liens. Il peut y avoir plusieurs tables liées entre la table N et la table 1. Les liens peuvent être manuels ou automatiques.

RELATE ONE SELECTION utilise le chemin "le plus court" pour passer de la table de départ à la table d'arrivée. Si plusieurs chemins existants sont de taille équivalente, vous devez faire appel à la commande SET FIELD RELATION si vous souhaitez contrôler le chemin emprunté.

Exemple  

Nous souhaitons trouver tous les clients dont les factures arrivent à échéance aujourd'hui.
L'exemple suivant propose une méthode pour créer une sélection dans la table [Clients] à partir d'une sélection d'enregistrements de la table [Factures] :

 CREATE EMPTY SET([Clients];"Paiement Du")
 QUERY([Factures][Factures]PaiementDu=Current date)
 While(Not(End selection([Factures])))
    RELATE ONE([Factures]ClientID)
    ADD TO SET([Clients];"Paiement Du")
    NEXT RECORD([Factures])
 End while

L'exemple suivant parvient au même résultat que le précédent :

 QUERY([Factures];[Factures]PaiementDu=Current date)
 RELATE ONE SELECTION([Factures];[Clients])

Note : Depuis la version 11, ce code peut également être écrit de la manière suivante sans perte de performances :

 QUERY([Clients];[Factures]PaiementDu=Current date)



Voir aussi  

Présentation des ensembles
QUERY
RELATE MANY SELECTION
RELATE ONE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Liens
Numéro : 349

Cette commande change l'enregistrement courantCette commande change la sélection couranteCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Modifié : 4D v6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)