¿Por qué cuando uso el método TransferSpreadsheet para traer datos de Excel hacia Access de devuelve un error?

He estado teniendo problemas con la importación de datos desde Excel hacia Access:
¿Por qué, cuando uso el método TransferSpreadsheet para traer datos de Excel hacia Access la ejecución del método me devuelve el error 13 en runtime "No coinciden los tipos"? Todas las columnas de la tabla de excel tienen formato de numero (solo estoy trabajando con números). POr su parte, la estructura de la tabla de Access tiene la misma cantidad de campos y todo son de tamaño de campo "Doble" y Formato "Numero General". ¿QUé está pasando?
¿Qué otra forma me pudieran sugerir para importar una tabla de Excel ("TablaExcel") hacia una en Access ("TablaAccess")digamos que la de excel tenga una columna de tipo Fecha "dd/mm/aaaa hh:mm" y dos o tres de tipo numero general?

1 Respuesta

Respuesta
1
Te recomiendo que siempre que hagas una importación a una tabla en access todos los campos de esta estén declarados como texto y luego lo cambies en la tabla el formato. Es más sencillo y así ves que campo te da el error, que seguramente sera la fecha.
Gracias por tu ecomendacion pero, pensando en todo este problema de formatso ya había probado con todos los datos como texto y nada.
He probado con la sentencia de SQL
DoCmd.RunSQL "INSERT INTO TblObjeto " & " SELECT * " & " IN 'C:\Temp\' 'EXCEL 2000'" & " FROM XLFuente.xls;"
y cuando la ejectuo me da el siguiente mensaje de error:
"Syntax error (missing operator) in query expression '* IN 'C:\Temp' 'EXCEL 2000''.
¿Qué me está sucediendo?
He creado una tabla llamada "pepe" en access con dos campos de tipo texto y un excel que se llama "pepe.xls" con dos campos numéricos. Para subir los datos a la tabla excel lo hago con la siguiente instrucción:
DoCmd.TransferSpreadsheet acImport, , "pepe", "C:\pepe.xls", False
Supongo que esto te resuelve el problema sino me vuelves a preguntar, suerte.
Si, gracias. Creo que esta acción me va a ayudar en lo que estoy buscando.
Lo único que me gustaría agregarle es alguna manera "interactiva" de poder buscar (browse) el archivo Excel que quiero importar. Digamos que, en lugar de la tabla "pepe" y el archivo pepe.xls hubieran variables que tomaran el valor de una búsqueda.
¿Existe alguna acción u objeto en Access que haga esto?
Gracias por tu ayuda y paciencia!
Si lo quieres hacer fácil puedes usar una variable de tipo string y asignarle la dirección que usuario entre en un textbox, si quieres hacerlo bonito te aconsejo que visites esta página "http://guille.costasol.net/utilidades/extraeico/extraeico.htm".
Muchas gracias. Tus respuestas y recomendaciones son una valiosa ayuda para mi no solo por la solución en si sino también por la rapidez.
Espero poder contar contigo para otras preguntas.
Muchas gracias nuevamente.
Alberto Gonzalez

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas