Свойство Field.ForeignName (DAO)
Область применения: Access 2013, Office 2013
Задает или возвращает значение, указывающее имя объекта Field во внешней таблице, которая соответствует полю в первичной таблице для связи (только для рабочих областей Microsoft Access).
Синтаксис
expression . ForeignName
выражение: переменная, представляющая объект Field.
Примечания
Если объект Relation не добавляется к базе данных, но поле добавляется к объекту Relation , свойство ForeignName считывается и записывается. После добавления объекта Relation в базу данных свойство ForeignName будет доступно только для чтения.
Только объект Field , принадлежащий к коллекции Fields объекта Relation , может поддерживать свойство ForeignName .
Параметры свойств Name и ForeignName для объекта Field указывают имена соответствующих полей в основной и внешней таблицах связи. Параметры свойств Table и ForeignTable для объекта Relation определяют основную и внешнюю таблицы связи.
Например, если в таблице ValidParts хранится список допустимых кодов частей (в поле с именем PartNo), можно установить связь с таблицей OrderItem таким образом, что если код части был введен в таблицу OrderItem, он должен уже существовать в таблице ValidParts. Если код части не существовал в таблице ValidParts и вы не задали свойству Attributes объекта Relationзначение dbRelationDontEnforce, возникнет ошибка с возможностью захвата.
В этом случае таблица ValidParts является внешней таблицей, поэтому свойству ForeignTable объекта Relation будет присвоено значение ValidParts, а свойству Table объекта Relation — значение OrderItem. Свойства Name и ForeignName объекта Field в коллекции Fields объекта Отношения будут иметь значение PartNo.
Пример
В этом примере показано, как свойства Table, ForeignTable и ForeignName определяют термины отношения между двумя таблицами.
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