4D v16.3Présentation des liens |
||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Présentation des liens
Présentation des liens
Les commandes de ce thème, en particulier RELATE ONE et RELATE MANY, établissent et gèrent les relations entre les tables, à la fois pour les liens automatiques et les liens manuels. Consultez le manuel Mode Développement de 4D pour la création des liens entre les tables avant d'utiliser ces commandes. Deux tables peuvent être reliées par un lien automatique. En général, quand un lien automatique est créé, les enregistrements liés sont chargés et sélectionnés dans la table liée. Un grand nombre d'opérations exploitent cette relation. En particulier, citons les opérations suivantes :
Pour améliorer les performances, quand 4D active les liens automatiques, seul un enregistrement devient l'enregistrement courant pour la table. Pour chacune des opérations énumérées ci-dessus, l'enregistrement lié est chargé selon les principes suivants :
Par exemple, dans la structure affichée ci-dessous, si un enregistrement pour la table [Personnes] est chargé et affiché pour une saisie de donnés, l'enregistrement lié dans la [Sociétés] est sélectionné et chargé. De la même façon, si un enregistrement pour la table [Sociétés] est chargé et affiché pour de la saisie de données, les enregistrements liés de la table [Personnes] sont sélectionnés. Dans le type de schéma présenté ci-dessus, la table [Personnes] est appelée Table N et la table [Sociétés] est appelée Table 1. Pour vous souvenir de la différence, pensez à “plusieurs personnes travaillent dans une société” ou “une société emploie N personnes”. De même, le champ Société de la table [Personnes] est appelé Champ N, et le champ Nom de la table [Sociétés] est appelé Champ 1. Il n'est pas toujours possible que le champ lié soit unique. Par exemple, le champ [Sociétés]Nom peut contenir des noms de sociétés identiques. Ce cas de non-unicité est facilement contournable : il suffit de créer un lien vers un autre champ de la table liée qui, lui, sera toujours unique. Ce champ pourrait être par exemple un numéro d'identification de la société. Les commandes listées ci-dessous utilisent les liens automatiques pour charger les enregistrements liés lors de leur exécution. Toutes ces commandes activent les liens automatiques "de N vers 1" existants. En revanche, seules les commandes signalées explicitement par un Oui activent les liens automatiques "de 1 vers N".
Que les liens soient automatiques ne signifie pas que les enregistrements liés ou les enregistrements pour une table seront sélectionnés simplement parce qu'une commande charge un enregistrement. Après avoir exécuté une commande chargeant un enregistrement, dans certains cas vous devez explicitement appeler le ou les enregistrement(s) lié(s) avec RELATE ONE ou RELATE MANY si vous avez besoin d'accéder aux données liées. Certaines des commandes listées ci-dessus (par exemple les commandes de recherche) chargent l'enregistrement courant une fois leur tâche terminée. Dans ce cas, l'enregistrement chargé n'appelle pas automatiquement le ou les enregistrement(s) lié(s). Là aussi, vous devez explicitement sélectionner le ou les enregistrement(s) lié(s) avec RELATE ONE ou RELATE MANY si vous avez besoin d'accéder aux données liées.
Voir aussi
CREATE RELATED ONE
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||