4D v16.3

Présentation des liens

Accueil

 
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 :

  • Saisie de données,
  • Liste des enregistrements à l'écran dans un formulaire de sortie,
  • Etats,
  • Opérations sur une sélection d'enregistrements comme les recherches, les tris et les formules.

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 :

  • Si un lien sélectionne un seul enregistrement de la table liée, cet enregistrement est chargé du disque.
  • Si un lien sélectionne plusieurs enregistrements de la table liée, une nouvelle sélection d'enregistrements est créée pour cette table, et le premier enregistrement de cette sélection est chargé du disque.

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".

CommandeLien 1 vers N
ADD RECORDOui
_o_ADD SUBRECORDNon
APPLY TO SELECTIONNon
DISPLAY SELECTIONNon
EXPORT DIFNon
EXPORT SYLKNon
EXPORT TEXTNon
EXPORT DATANon
MODIFY RECORDOui
_o_MODIFY SUBRECORDNon
MODIFY SELECTIONOui (en saisie de données)
ORDER BYNon
ORDER BY FORMULANon
QUERY BY FORMULAOui
QUERY SELECTIONOui
QUERYOui
PRINT LABELNon
PRINT SELECTIONOui
QR REPORTNon
SELECTION TO ARRAYNon
SELECTION RANGE TO ARRAYNon

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
GET AUTOMATIC RELATIONS
GET FIELD RELATION
OLD RELATED MANY
OLD RELATED ONE
RELATE MANY
RELATE MANY SELECTION
RELATE ONE
RELATE ONE SELECTION
SAVE RELATED ONE
SET AUTOMATIC RELATIONS
SET FIELD RELATION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Liens

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

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