Eduardo importar datos a Access

Como te va.. Un placer mi nombre es Eduardo y tengo una duda con respecto a access, te comento que estoy haciendo una aplicación que requiere descargar datos desde una hoja de excel a una tabla de access.. Tengo el siguiente código que solo me permiete importar una columna de excel a la vez y me gustaría poder importar varias al mismo tiempo:
Private Sub Comando31_Click()
'Inicializamos las Variables Objeto Aplicacion
Dim appExcel As Object
Dim rango1, rengo2
Set appExcel = CreateObject("Excel.Application")
'Abrimos el fichero de Excel donde tengamos los datos
appExcel.Workbooks.Open FileName:="c:\Fichero.Xls"
'Ponemos la aplicacion Excel Visible
appExcel.Visible = True
'Recojemos los datos de la hoja excel que nos interese
Dim IndicePrueba As Long
IndicePrueba = 1
appExcel.Range("A" & IndicePrueba, "B" & IndicePrueba).Select
With appExcel
Do While .ActiveCell.FormulaR1C1 <> ""
DoCmd.SetWarnings False
DoCmd.RunSQL ("INSERT INTO prueba ([Campo1],[Campo2]) VALUES(" & .ActiveCell.FormulaR1C1 & " , " & .ActiveCell.FormulaR1C1 & ")")
DoCmd.SetWarnings True
IndicePrueba = IndicePrueba + 1
.Range("A" & IndicePrueba, "B" & IndicePrueba).Select
Loop
End With
End Sub

1 Respuesta

Respuesta
1
Y ya le indicaste en el range que use algo como:
.Range("A" & IndicePrueba, "E" & IndicePrueba).Select
Que deberá de copiar hasta la columna e...
Hola ENCISO Mil gracias por tu ayuda ya logre que elmacenara simultáneamente más de una columna, ahora el problema es que solo almacena datos de tipo numérico y ya verifique la configuración de mi tabla y todo esta bien es decir acepta datos de cualquier tipo el error que me lanza es el siguiente: Cuando le envío a descargar el archivo en la tabla todo va bien hasta que se topa con un carácter distinto a una cantidad por ejemplo: DJ8569 al estar una o más letras al principio de la cantidad access me abre un campo diciendo que ingrese el valor del parámetro DJ8569, en el caso de que el dato sea un nombre por ejemplo: Eduardo ocurre lo mismo, pero si el dato esta conformado por Números y letras intercaladas por ejemplo 5H89 El editro V.B De access lanza el siguiente error:
Se ha producido el error '3075' en tiempo de ejecución:
Error de sintaxis (falta operador) en la excepción de consulta '5H89'
De nuevo mil gracias por tu ayuda mi código es el siguiente gracias de antemano..
Private Sub Comando31_Click()
'Inicializamos las Variables Objeto Aplicacion
Dim appExcel As Object
Set appExcel = CreateObject("Excel.Application")
'Abrimos el fichero de Excel donde tengamos los datos
appExcel.Workbooks.Open FileName:="c:\NO_CONCILIADOS.Xls"
'Ponemos la aplicacion Excel Visible
appExcel.Visible = True
'Recojemos los datos de la hoja excel que nos interese
Dim IndicePrueba As Long
Dim I As Long
IndicePrueba = 1
I = 1
appExcel.Range("A" & I, "C" & I).Select
With appExcel
Do While .ActiveCell.FormulaR1C1 <> ""
DoCmd.SetWarnings False
DoCmd.RunSQL ("INSERT INTO pruebas2 (Campo1,Campo2,Campo3)VALUES(" & .Range("A" & I) & " , " & .Range("B" & I) & " , " & .Range("C" & I) & ")")
IndicePrueba = IndicePrueba + 1
I = I + 1
.Range("A" & I, "C" & I).Select
DoCmd.SetWarnings True
Loop
End With
End Sub
Según lo que veo, tendrás que editar el archivo de excel y en cada una de las celdas con valores alfanuméricos agregar un ' para que los vea como datos de texto...
Gracias nuevamente... efectivamente probé y me importo la información a la que le coloque ' ', el problema es que los archivos que importare poseen miles de filas y 8 columnas, crees que exista otra manera con la que pueda importar esa información a excel o una manera automática de colocar todo como texto, he intentado concatenarle las comillas simples en el rango y no lo he logrado, pudo modificar el código de otra manera para poder importar mi archivo de excel a access..
Pues, solamente realizando una aplicación de visual basic para que importe los datos como lo deseas, de otra forma no lo veo factible. Al hablar de visual basic me refiero al lenguaje de programación, no al visual basic for applications que trae excel o access...
Entiendo bueno muchas gracias por tu ayuda muy amable..
Ok, enterado, un favor, puedes calificar la pregunta para que se cierre...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas