Поделиться через


Свойство Field2.ForeignName (DAO)

Область применения: Access 2013, Office 2013

Задает или возвращает значение, указывающее имя объекта Field2 во внешней таблице, которая соответствует полю в первичной таблице для связи (только для рабочих областей Microsoft Access).

Синтаксис

expression . ForeignName

expression — переменная, представляющая объект Field2.

Замечания

Если объект Relation не добавляется к базе данных, но Field2 добавляется к объекту Relation , свойство ForeignName считывается и записывается. После добавления объекта Relation в базу данных свойство ForeignName будет доступно только для чтения.

Только объект Field2 , принадлежащий к коллекции Fields объекта Relation , может поддерживать свойство ForeignName .

Параметры свойств Name и ForeignName для объекта Field2 указывают имена соответствующих полей в основной и внешней таблицах связи. Параметры свойств Table и ForeignTable для объекта Relation определяют основную и внешнюю таблицы связи.

Например, если в таблице ValidParts хранится список допустимых кодов частей (в поле с именем PartNo), можно установить связь с таблицей OrderItem таким образом, что если код части был введен в таблицу OrderItem, он должен уже существовать в таблице ValidParts. Если код части не существовал в таблице ValidParts и вы не задали свойству Attributes объекта Relationзначение dbRelationDontEnforce, возникнет ошибка с возможностью захвата.

В этом случае таблица ValidParts является внешней таблицей, поэтому свойству ForeignTable объекта Relation будет присвоено значение ValidParts, а свойству Table объекта Relation — значение OrderItem. Свойства Name и ForeignName объекта Field2 в коллекции 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