Propriedade Field.ForeignName (DAO)
Aplica-se ao: Access 2013, Office 2013
Define ou retorna um valor que especifica o nome do objeto Field em uma tabela externa que corresponde a um campo em uma tabela primária de uma relação (somente nos espaços de trabalho do Microsoft Access).
Sintaxe
expressão . ForeignName
expressão Uma variável que representa um objeto de Campo.
Comentários
Se o objeto Relation não for acrescentado ao Database, mas Field for acrescentado ao objeto Relation, a propriedade ForeignName será de leitura/gravação. Assim que o objeto Relation for acrescentado ao banco de dados, a propriedade ForeignName será somente leitura.
Somente um objeto Field que pertence à coleção Fields de um objeto Relation pode suportar a propriedade ForeignName.
As configurações das propriedades Name e ForeignName de um objeto Field especificam os nomes dos campos correspondentes nas tabelas primária e externa de uma relação. As configurações das propriedades Table e ForeignTable de um objeto Relation determinam as tabelas primária e externa de uma relação.
Por exemplo, se você tiver uma lista dos códigos de peça válidos (em um campo chamado PartNo) armazenada em uma tabela ValidParts, poderá estabelecer uma relação com uma tabela OrderItem de forma que, se um código de peça for inserido na tabela OrderItem, ele já deverá existir na tabela ValidParts. Se o código de peça não existir na tabela ValidParts e você não tiver definido a propriedade Attributes do objeto Relation como dbRelationDontEnforce, ocorrerá um erro interceptável.
Nesse caso, a tabela ValidParts seria uma tabela externa e, por esse motivo, a propriedade ForeignTable do objeto Relation seria definida como ValidParts e a propriedade Table do objeto Relation seria definida como OrderItem. As propriedades Name e ForeignName do objeto Field da coleção Fields do objeto Relation seriam definidas como PartNo.
Exemplo
Esse exemplo mostra como as propriedades Table, ForeignTable e ForeignName definem os termos de um Relation entre as duas tabelas.
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