Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Importar hoja exvel a access

Estas en el tema de Importar hoja exvel a access en el foro de Visual Basic clásico en Foros del Web. hola y gracias de antemano Tengo unas tablas en Excel y deseo pasarlas a tablas en Access por medio de visual basic 6.0 Encontré un ...
  #1 (permalink)  
Antiguo 23/06/2006, 15:59
 
Fecha de Ingreso: junio-2006
Mensajes: 2
Antigüedad: 17 años, 10 meses
Puntos: 0
Importar hoja exvel a access

hola y gracias de antemano
Tengo unas tablas en Excel y deseo pasarlas a tablas en Access por medio de visual basic 6.0

Encontré un código y lo estoy empleando que hace la importación pero no se bien como funciona por que me sale el siguiente error.

Error: -2147217865 (80040e37)

El motor de base de datos Microsoft jet no pudo encontrar el objeto ‘Worksheet1$A1:M50’ Asegúrese que el objeto existe…..

El código que estoy usando es el siguiente:
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 de Access,
' la cual será la base de datos "Activa"
Set cnnActiva = New ADODB.Connection
cnnActiva.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\IEEA\BASEDATOS.mdb;"

sTablaDestino = "[NUEVO]"
sTablaOrigen = "[WorkSheet1$A1:M50]"

' Importo la tabla a la base de datos "Activa"
sConnect = "'C:\IEEA\book.xls' 'Excel 8.0;HDR=Yes;'"

sSQL = "SELECT * INTO " & sTablaDestino & " FROM " & sTablaOrigen & " IN " & sConnect
cnnActiva.Execute sSQL

' Cierro la conexión
cnnActiva.Close
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''
Tal vez estoy asignando mal las tablas ademas no se si la tabla de access (sTablaDestino) ya debe estar hecha en Access o este código la crea.
No se si se requiere de alguna referencia que estoy pasando por alto o que pasa.
  #2 (permalink)  
Antiguo 26/06/2006, 03:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 3
Antigüedad: 18 años
Puntos: 0
Mira de usar este código.Recorre las filas que le indicas y almacena el valor de la celda para despues hacer un insert o update de la tabla en ACCESS

'VARIABLES GLOBALES
'Excel
Public ArchivoExcel As String
Public NomHoja As String

'Global msExcelApp As Excel.Application
Public msExcelApp As Object
Public msExcelFichero As Excel.Workbook
Public msExcelHoja As Excel.Worksheet

Public DB As Database

'CODIGO EN UNA FUNCION
Set msExcelApp = CreateObject("Excel.Application")
msExcelApp.Visible = False
Set msExcelFichero = msExcelApp.Workbooks.Open(ArchivoExcel)
Set msExcelHoja = msExcelFichero.Worksheets.Item(msExcelHoja )

FilaInicio = 1
Filafin = 100

For Fila = FilaInicio To Filafin

'Numero Pedido
Celda = "A" & Fila
ValorCelda = ""
On Error Resume Next
ValorCelda = Trim(msExcelHoja.Range(Celda))
On Error GoTo 0
NumeroPedido = CInt(ValorCelda)

'Cliente
Celda = "B" & Fila
ValorCelda = ""
On Error Resume Next
ValorCelda = Trim(msExcelHoja.Range(Celda))
On Error GoTo 0
NumeroProveedor = ValorCelda


'AQUI HACES UN INSERT DE LOS VALORES SELECCIONADOS EN LA FILA DEL EXCEL.

Next Fila
On Error Resume Next
msExcelFichero.Close
msExcelApp.Quit
Set msExcelHoja = Nothing
Set msExcelFichero = Nothing
Set msExcelApp = Nothing
On Error GoTo 0
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:02.