Fallo al crear tabla en bd Access 2000 con ADO
Estoy intentando crear una tabla en tiempo de diseño en una base de datos Access 2000 que tengo en una red local utilizando conexión ADO y el objeto catalog, pero cuando tiene que añadir la tabla siempre me da error. A veces me pone "Error no especificado", otras me dice que la tabla está abierta por otro usuario, el caso es que nunca funciona. Bueno, a veces crea la tabla pero se detiene la ejecución del programa.
He puesto las referencias:
Microsoft ADO Ext. 2.8 for DDL and Security
Microsoft Jet and Replication Objects 2.6 Library
El código que utilizo es este:
Public adoCN As ADODB.Connection
Public adoRS As ADODB.Recordset
Public driver As String
driver = " driver={microsoft Access Driver (*.mdb)};"
Set adoCN = New ADODB.Connection
adoCN.ConnectionString = driver + "DBQ=" & "C:\Programa\Db1.mdb;"
adoCN.Open
Set cat = New ADOX.Catalog
cat.ActiveConnection = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source= " & "C:\Programa\Db1.mdb;"
Set tabla = New ADOX.Table
Set tabla.ParentCatalog = cat
With tabla
.Name = "Tabla1"
.Columns.Append "Numero", adSmallInt
.Columns.Append "Valor", adSmallInt
End With
cat.Tables.Append tabla
Set tabla = Nothing
Set cat = Nothing
Siempre falla en la línea [cat. Tables.Append tabla]
Este código lo pongo después de abrir y cerra la conexión a la misma base de datos porque tengo que comprobar que no exista la tabla antes.
Después de este código tengo que añadir registros a esa tabla recién creada, pero no me deja.
¿Alguien ve donde está el error o por qué me pasa esto?
Muchas gracias.
He puesto las referencias:
Microsoft ADO Ext. 2.8 for DDL and Security
Microsoft Jet and Replication Objects 2.6 Library
El código que utilizo es este:
Public adoCN As ADODB.Connection
Public adoRS As ADODB.Recordset
Public driver As String
driver = " driver={microsoft Access Driver (*.mdb)};"
Set adoCN = New ADODB.Connection
adoCN.ConnectionString = driver + "DBQ=" & "C:\Programa\Db1.mdb;"
adoCN.Open
Set cat = New ADOX.Catalog
cat.ActiveConnection = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source= " & "C:\Programa\Db1.mdb;"
Set tabla = New ADOX.Table
Set tabla.ParentCatalog = cat
With tabla
.Name = "Tabla1"
.Columns.Append "Numero", adSmallInt
.Columns.Append "Valor", adSmallInt
End With
cat.Tables.Append tabla
Set tabla = Nothing
Set cat = Nothing
Siempre falla en la línea [cat. Tables.Append tabla]
Este código lo pongo después de abrir y cerra la conexión a la misma base de datos porque tengo que comprobar que no exista la tabla antes.
Después de este código tengo que añadir registros a esa tabla recién creada, pero no me deja.
¿Alguien ve donde está el error o por qué me pasa esto?
Muchas gracias.
1 respuesta
Respuesta de huachanin