Uso de ADOX.

22/06/2004 - 21:56 por Ramon | Informe spam
Hola.

Para crear tablas vinculadas en una base de datos Access utilizaba el
siguiente codigo en VB6.

Function CreaVinculo(cn As ADODB.Connection, strBase As String, strTabla As
String) As Boolean
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
' Abro el catálogo
cat.ActiveConnection = cn
' Creo la nueva tabla
tbl.Name = strTabla
Set tbl.ParentCatalog = cat
' Establezco las propiedades para crear el vínculo con la tabla
' de la segunda base de datos
With tbl
.Properties("Jet OLEDB:Link Datasource") = strBase
.Properties("Jet OLEDB:Remote Table Name") = strTabla
.Properties("Jet OLEDB:Create Link") = True
End With
' Añado la tabla a la colección 'Tables'.
cat.Tables.Append tbl
Set cat = Nothing
Set tbl = Nothing
End Function

Ahora tengo la necesidad de hacer lo mimo pero en VB .NET y usando ADO.NET
no lo he logrado, asi es que estoy usando ADOX y ADODB para poder hacerlo.

El Problema es que al momento de asignarle las propiedades a la tabla me
dice que la propiedad es de solo lectura, aun cuando en VB6 funciona bien,
quisiera saber si alguien sabe como solucionarlo ya sea de esta forma y
otra.

Saludos y muchas gracias por su ayuda.
Ramón.
 

Leer las respuestas

#1 Ramon
22/06/2004 - 23:28 | Informe spam
Ya esta, gracias.

Lo unico que faltaba era poner .Value a cada propiedad.

With tbl
.Properties("Jet OLEDB:Link Datasource").Value = strBase
.Properties("Jet OLEDB:Remote Table Name").Value = strTabla
.Properties("Jet OLEDB:Create Link").Value = True
End With



Saludos.
Ramón

"Ramon" escribió en el mensaje
news:
Hola.

Para crear tablas vinculadas en una base de datos Access utilizaba el
siguiente codigo en VB6.

Function CreaVinculo(cn As ADODB.Connection, strBase As String, strTabla


As
String) As Boolean
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
' Abro el catálogo
cat.ActiveConnection = cn
' Creo la nueva tabla
tbl.Name = strTabla
Set tbl.ParentCatalog = cat
' Establezco las propiedades para crear el vínculo con la tabla
' de la segunda base de datos
With tbl
.Properties("Jet OLEDB:Link Datasource") = strBase
.Properties("Jet OLEDB:Remote Table Name") = strTabla
.Properties("Jet OLEDB:Create Link") = True
End With
' Añado la tabla a la colección 'Tables'.
cat.Tables.Append tbl
Set cat = Nothing
Set tbl = Nothing
End Function

Ahora tengo la necesidad de hacer lo mimo pero en VB .NET y usando ADO.NET
no lo he logrado, asi es que estoy usando ADOX y ADODB para poder hacerlo.

El Problema es que al momento de asignarle las propiedades a la tabla me
dice que la propiedad es de solo lectura, aun cuando en VB6 funciona bien,
quisiera saber si alguien sabe como solucionarlo ya sea de esta forma y
otra.

Saludos y muchas gracias por su ayuda.
Ramón.


Preguntas similares