Sets or returns the name of the foreign table in a relationship (Microsoft Access workspaces only).
Syntax
expression .ForeignTable
expression A variable that represents a Relation object.
Remarks
This property is read/write for a new
Relation object not yet appended to a collection and read-only for an existing
Relation object in the
Relations collection.
The
ForeignTable property setting of a
Relation object is the
Name property setting of the
TableDef or
QueryDef object that represents the foreign table or query; the
Table property setting is the
Name property setting of the
TableDef or
QueryDef object that represents the primary table or query.
For example, if you had a list of valid part codes (in a field named PartNo) stored in a ValidParts table, you could establish a relationship with an OrderItem table such that if a part code were entered into the OrderItem table, it would have to already be in the ValidParts table. If the part code didn't exist in the ValidParts table and you had not set the
Attributes property of the
Relation object to
dbRelationDontEnforce, a trappable error would occur.
In this case, the ValidParts table is the primary table, so the Table property of the Relation object would be set to ValidParts and the ForeignTable property of the Relation object would be set to OrderItem. The Name and ForeignName properties of the Field object in the Relation object's Fields collection would be set to PartNo.
Example
This example shows how the Table, ForeignTable, and ForeignName properties define the terms of a Relation between two 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