saber el nombre de la relacion

12/08/2003 - 18:01 por Luis Cabrera Aldui | Informe spam
Como puedo saber el nombre de la relacion q hay en una bd access2000, lo
nesecito para poder eliminar una relacion desde codigo de visual basic, les
agradesco mucho toda la ayuda q puedan prestarme

Luis Orlando Cabrera Aldui
ealdui@hotmail.com
aldui@yahoo.com.ar
 

Leer las respuestas

#1 Softjaen
12/08/2003 - 18:31 | Informe spam
"Luis Cabrera Aldui" escribió:

Como puedo saber el nombre de la relacion q hay en una bd access2000.



Hola, Luis:

Una forma fácil de obtener el nombre de la relación existente entre dos
tablas, es mediante la biblioteca de ADOX, por tanto, en tu proyecto deberás
de hacer referencia a la biblioteca «Microsoft ADO Ext. 2.7 for DDL and
Security».

Siguiendo con el ejemplo que te indiqué en un mensaje anterior, tenemos una
relación de «uno a varios» entre la tabla «Clientes» (tabla relacionada) y
«Facturas» (tabla externa), cuyo nombre de la relación queremos conocer para
posteriormente eliminarla mediante la instrucción «ALTER TABLE». Ejecuta el
siguiente código:

Dim cat As ADOX.Catalog
Dim key As ADOX.key

' Creamos un objeto Catalog
Set cat = New ADOX.Catalog

' Establecemos la conexión
cat.ActiveConnection = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = C:\Mis documentos\bd1.mdb"

' Recorremos la colección «Keys» de la tabla
' externa, en éste caso la tabla «Facturas»
For Each key In cat.Tables("Facturas").Keys

' Si la tabla relacionada es «Clientes» y el tipo
' de objeto es una clave externa
If key.RelatedTable = "Clientes" And _
key.Type = adKeyForeign Then

' Mostramos el nombre de la relación
MsgBox key.Name

End If
Next

Eso es todo.

Un saludo.

Enrique Martínez
[MS MVP - VB]

Preguntas similares