Partager via


Propriété Field2.ForeignName (DAO)

S’applique à : Access 2013, Office 2013

Définit ou renvoie une valeur qui spécifie le nom de l'objet Field2 d'une table étrangère correspondant à un champ d'une table primaire d'une relation (espaces de travail Microsoft Access uniquement).

Syntaxe

expression . ForeignName

expression une variable qui représente une champ2 objet.

Remarques

Si l'objet Relation n'est pas ajouté à l'objet Database, mais que l'objet Field2 est ajouté à l'objet Relation, la propriété ForeignName est en lecture/écriture. Une fois que l'objet Relation est ajouté à la base de données, la propriété ForeignName est en lecture seule.

Seul un objet Field2 appartenant à la collection Fields d'un objet Relation peut prendre en charge la propriété ForeignName.

Les paramètres de propriété Name et ForeignName d'un objet Field2 spécifient les noms des champs correspondants dans les tables primaires et étrangères d'une relation. Les paramètres de propriété Table et ForeignTable d'un objet Relation déterminent les tables primaires et étrangères d'une relation.

Par exemple, si vous aviez une liste de codes de composant valides (dans un champ nommé PartNo) stockée dans une table ValidParts, vous pouvez établir une relation avec une table OrderItem de telle sorte que si un code de composant était entré dans la table OrderItem, il doit déjà exister dans la table ValidParts. Si le code de composant n’existait pas dans la table ValidParts et que vous n’aviez pas défini la propriété Attributes de l’objet Relation sur dbRelationDontEnforce, une erreur pouvant être interceptée se produit.

Dans ce cas, la table ValidParts est la table étrangère, la propriété ForeignTable de l'objet Relation est donc définie sur ValidParts et la propriété Table de l'objet Relation sur OrderItem. Les propriétés Name et ForeignName de l'objet Field2 de la collection Fields de l'objet Relation sont alors définies sur PartNo.

Exemple

Cet exemple montre comment les propriétés Table, ForeignTable et ForeignName définissent les termes d’une Relation entre deux tables.

    Sub ForeignNameX() 
     
     Dim dbsNorthwind As Database 
     Dim relLoop As Relation 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     
     Debug.Print "Relation" 
     Debug.Print " Table - Field" 
     Debug.Print " Primary (One) "; 
     Debug.Print ".Table - .Fields(0).Name" 
     Debug.Print " Foreign (Many) "; 
     Debug.Print ".ForeignTable - .Fields(0).ForeignName" 
     
     ' Enumerate the Relations collection of the Northwind 
     ' database to report on the property values of 
     ' the Relation objects and their Field objects. 
     For Each relLoop In dbsNorthwind.Relations 
     With relLoop 
     Debug.Print 
     Debug.Print .Name & " Relation" 
     Debug.Print " Table - Field" 
     Debug.Print " Primary (One) "; 
     Debug.Print .Table & " - " & .Fields(0).Name 
     Debug.Print " Foreign (Many) "; 
     Debug.Print .ForeignTable & " - " & _ 
     .Fields(0).ForeignName 
     End With 
     Next relLoop 
     
     dbsNorthwind.Close 
     
    End Sub