| 4D v15.4RELATE MANY | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15.4
 RELATE MANY 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RELATE MANY ( table1 | champ1 ) | ||||||||
| Paramètre | Type | Description | ||||||
| table1 | champ1 | Table, Champ |   | Table pour laquelle établir tous les liens de 1 vers N ou champ 1 | |||||
RELATE MANY a deux syntaxes.
La première syntaxe, RELATE MANY(table1), active tous les liens 1 vers N pour table1. Elle modifie la sélection courante pour chaque table qui a un lien 1 vers N vers table1. Les sélections courantes dans les tables N dépendent de la valeur courante de chaque champ lié dans la table 1. Chaque fois que cette commande est exécutée, les sélections courantes des tables N sont modifiées et le premier enregistrement de la sélection est chargé en tant qu'enregistrement courant.
La seconde syntaxe, RELATE MANY(champ1), active le lien 1 vers N pour champ1. Elle modifie la sélection courante et l'enregistrement courant pour chaque table qui a un lien avec champ1. En conséquence, les enregistrements liés deviennent la sélection courante de la table N.
Notes :
Note : Cette commande ne prend pas en charge les champs de type Objet.
Dans l'exemple suivant, trois tables sont liées avec des liens automatiques. Les deux tables [People] et [Parts] ont un lien N vers 1 vers la table [Companies].

Voici le formulaire pour la table [Companies] qui affiche les enregistrements liés venant des tables [People] et [Parts].

Lorsque les formulaires pour People et Parts s'affichent, les enregistrements liés pour les tables [People] et [Parts] sont chargés et deviennent les sélections courantes de ces tables.
En revanche, les enregistrements liés ne sont pas chargés si un enregistrement de la table [Companies] est sélectionné par programmation. Dans ce cas, il faut utiliser la commande RELATE MANY.
Par exemple, la méthode suivante effectue une boucle sur chaque enregistrement de la table [Companies]. Pour chaque société, une alerte apparaît. Cette alerte affiche le nombre de personnes dans la société (le nombre d'enregistrements liés dans la table [People]) ainsi que le nombre de Parts que la société distribue (le nombre d'enregistrements dans la table [Parts] qui sont liés). Notez que nous avons besoin d'appeler la commande RELATE MANY bien que les liens soient automatiques :
 ALL RECORDS([Companies]) ` Sélectionner tous les enregistrements dans la table
 ORDER BY([Companies];[Companies]Nom) ` Trier les enregistrements dans l'ordre alphabétique
 For($i;1;Records in table([Companies])) ` Boucler une fois par enregistrement
    RELATE MANY([Companies]Nom) ` Sélectionner les enregistrements liés
    ALERT("Société : "+[Companies]Nom+Char(13)+"personnes dans la société : "+String(Enregistrements trouves([People]))+Caractere(13)+"Nombre de Produits qu'ils distribuent : "+Chaine(Enregistrements trouves([Parts])))
    NEXT RECORD([Companies]) ` Aller à l'enregistrement suivant
 End for
	Produit :  4D
	Thème :  Liens
	Numéro :  
        262
        
        
        
	
	Créé :  < 4D v6
	4D - Langage ( 4D v15.4)
	4D - Langage ( 4D v15)
	
	
	
	4D - Langage ( 4D v15.3)
 Ajouter un commentaire
Ajouter un commentaire