Propiedad Field2.ForeignName (DAO)
Se aplica a: Access 2013, Office 2013
Establece o devuelve un valor que especifica el nombre del objeto Field2 en una tabla externa que corresponde a un campo de una tabla primaria para una relación (sólo para áreas de trabajo de Microsoft Access).
Sintaxis
expresión . ForeignName
expression Variable que representa un objeto Field2.
Comentarios
Si el objeto Relation no está anexado a la Database, pero el objeto Field2 está anexado al objeto Relation, la propiedad ForeignName es de lectura y escritura. Una vez que el objeto Relation se anexe a la base de datos, la propiedad ForeignName será de solo lectura.
Sólo un objeto Field2 que pertenece a la colección Fields de un objeto Relation admite la propiedad ForeignName.
Los valores de las propiedades Name y ForeignName para un objeto Field2 especifican los nombres de los correspondientes campos en las tablas primaria y externa de una relación. Los valores de las propiedades Table y ForeignTable para un objeto Relation determinan las tablas primaria y externa de una relación.
Por ejemplo, si tiene una lista de partes de códigos válidos, en un campo denominado PartNo, almacenada en una tabla ValidParts, podría establecer una relación con una tabla OrderItem como si una parte de un código estuviera contenida en la tabla OrderItem, lo que ya existiría en la tabla ValidParts. Si la parte del código no existe en la tabla ValidParts y no ha establecido la propiedad Attributes del objeto Relation en dbRelationDontEnforce, se producirá un error capturable.
En este caso, la tabla ValidParts es la tabla externa, por lo que la propiedad ForeignTable del objeto Relation se podría establecer en ValidParts y la propiedad Table del objeto Relation se podría establecer en OrderItem. Las propiedades Name y ForeignName del objeto Field2 en la colección Fields del objeto Relation se podría establecer en PartNo.
Ejemplo
En este ejemplo se muestra cómo las propiedades Table, ForeignTable y ForeignName definen los términos de un objeto Relation entre dos tablas.
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