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