version 6.0
Les commandes de ce thème, en particulier CHARGER SUR LIEN et LIEN RETOUR, établissent et gèrent les relations entre les tables, à la fois pour les liens automatiques et les liens manuels. Consultez le manuel Mode Structure de 4e Dimension pour la création des liens entre les tables avant d'utiliser ces commandes.
Exploiter par programmation les liens automatiques entre les tables
Deux tables peuvent être reliées par un lien automatique. En général, quand une 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 [Personne] est appelée Table N, et la table [Société] est appelée Table 1. Pour vous souvenir de la différence, pensez à "Beaucoup de personne travaillent dans une société" ou "1 société emploie N personnes."
De même, le champ Société dans 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 une relation 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 relations automatiques pour charger les enregistrements liés lors de leur exécution. Toutes ces commandes établiront automatiquement un lien "de N vers 1". Seules les commandes signalées explicitement par un Oui établissent automatiquement un lien "de 1 vers N".
| Commande | Lien 1 vers N |
| AJOUTER ENREGISTREMENT | Oui |
| AJOUTER SOUS ENREGISTREMENT | Non |
| APPLIQUER A SELECTION | Non |
| VISUALISER SELECTION | Non |
| ECRITURE DIF | Non |
| ECRITURE SYLK | Non |
| ECRITURE ASCII | Non |
| MODIFIER ENREGISTREMENT | Oui |
| MODIFIER SOUS ENREGISTREMENT | Non |
| MODIFIER SELECTION | Oui (en saisie de données) |
| TRIER | Non |
| TRIER PAR FORMULE | Non |
| CHERCHER PAR FORMULE | Oui |
| CHERCHER DANS SELECTION | Oui |
| CHERCHER | Oui |
| IMPRIMER ETIQUETTES | Non |
| IMPRIMER SELECTION | Oui |
| ETAT | Non |
| SELECTION VERS TABLEAU | Non |
| SELECTION LIMITEE VERS TABLEAU | Non |
Activer par programmation les liens entre les tables
Que les relations 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 CHARGER SUR LIEN ou LIEN RETOUR 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 CHARGER SUR LIEN ou LIEN RETOUR si vous avez besoin d'accéder aux données liées.
Référence
ANCIEN LIEN RETOUR, CHARGER ANCIEN, CHARGER SUR LIEN, CREER SUR LIEN, JOINTURE, LIEN RETOUR, LIENS AUTOMATIQUES, SELECTION RETOUR, STOCKER ANCIEN, STOCKER SUR LIEN.