Exportar una tabla mediante ADO

18/03/2005 - 06:30 por Fabian | Informe spam
Hola a todos!
Estoy tratando de exportar desde excel haciendo una tabla nueva en access,
encontre esto en la red, pero me encuentro que tengo un error en la
declaracion: Dim cnnActiva As ADODB.Connection.
Tambien KL me habia enviado un codigo que tiene una declaracion similar y me
da el mismo error, por lo que deduzco que me debe faltar alguna referencia o
algo, en definitiva lo que quiero hacer es una base de datos en access con
el rango A1:K20000 de la hoja1. Gracias.



Por Enrique Martínez Montejo «SoftJaén»
[MS MVP - VB]
En esta ocasión se trata de abrir una conexión con la hoja de cálculo de
Excel y exportar los datos desde la misma hoja, creando una nueva tabla en
una base de datos de Access. Mediante la biblioteca de ADO, vamos a exportar
los datos de una hoja de cálculo:

Dim sTablaOrigen As String, sTablaDestino As String
Dim sConnect As String, sSQL As String
Dim cnnActiva As ADODB.Connection

' Establezco la conexión con la base de datos externa
Set cnnActiva = New ADODB.Connection
cnnActiva.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\Libro1.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"""

sTablaDestino = "[Tabla Importada desde Excel]"
sTablaOrigen = "[WorkSheet1$]"

' Construimos la consulta SQL
sConnect = " 'C:\Mis documentos\Bd1.mdb' "
sSQL = "SELECT * INTO " & sTablaDestino & " IN " & sConnect & " FROM " &
sTablaOrigen

' Exportamos la tabla a una base de datos Access
cnnActiva.Execute sSQL

' Cierro la conexión
cnnActiva.Close
 

Leer las respuestas

#1 Fernando Arroyo
18/03/2005 - 08:52 | Informe spam
Probablemente te falte establecer la referencia a la biblioteca de ADO. Lo puedes hacer (estando, obviamente, en el editor de VBA) desde Herramientas > Referencias, marcando la referencia "Microsoft ActiveX Data Objects X.x Library, donde X.x es la más alta que tengas (normalmente será la 2.7).
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Fabian" escribió en el mensaje news:
Hola a todos!
Estoy tratando de exportar desde excel haciendo una tabla nueva en access,
encontre esto en la red, pero me encuentro que tengo un error en la
declaracion: Dim cnnActiva As ADODB.Connection.
Tambien KL me habia enviado un codigo que tiene una declaracion similar y me
da el mismo error, por lo que deduzco que me debe faltar alguna referencia o
algo, en definitiva lo que quiero hacer es una base de datos en access con
el rango A1:K20000 de la hoja1. Gracias.



Por Enrique Martínez Montejo «SoftJaén»
[MS MVP - VB]
En esta ocasión se trata de abrir una conexión con la hoja de cálculo de
Excel y exportar los datos desde la misma hoja, creando una nueva tabla en
una base de datos de Access. Mediante la biblioteca de ADO, vamos a exportar
los datos de una hoja de cálculo:

Dim sTablaOrigen As String, sTablaDestino As String
Dim sConnect As String, sSQL As String
Dim cnnActiva As ADODB.Connection

' Establezco la conexión con la base de datos externa
Set cnnActiva = New ADODB.Connection
cnnActiva.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\Libro1.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"""

sTablaDestino = "[Tabla Importada desde Excel]"
sTablaOrigen = "[WorkSheet1$]"

' Construimos la consulta SQL
sConnect = " 'C:\Mis documentos\Bd1.mdb' "
sSQL = "SELECT * INTO " & sTablaDestino & " IN " & sConnect & " FROM " &
sTablaOrigen

' Exportamos la tabla a una base de datos Access
cnnActiva.Execute sSQL

' Cierro la conexión
cnnActiva.Close




Preguntas similares