Compartir a través de


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