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


Свойство Relation.ForeignTable (DAO)

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

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

Синтаксис

expression . ForeignTable

Выражение Переменная, представляющая объект Relation .

Замечания

Это свойство выполняется для чтения и записи для нового объекта Relation , еще не добавленного в коллекцию, и только для чтения для существующего объекта Relation в коллекции Relations .

Параметр свойства ForeignTable объекта Relation — это параметр свойства Name объекта TableDef или QueryDef , который представляет внешнюю таблицу или запрос; Параметр свойства Table — это параметр свойства Name объекта TableDef или QueryDef , который представляет основную таблицу или запрос.

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

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