Importacion desde Access de excel con vba
Publicado por robert_ts (2 intervenciones) el 16/09/2018 19:06:04
Buenas tardes,
estoy haciendo un procedimiento en el que cargo una serie de datos contenidos en una tabla excel,
el procedimiento lo hago desde access, utilizo
DoCmd.TransferSpreadsheet acImport, 8, tabla, ruta, False, hoja, donde tabla es la tabla access, ruta el archivo excel, false donde indico que no hay cabecera, y hoja, la hoja de excel, ya que algunos documentos traen varias hojas. La tabla access la llamo Clientes
La cuestión es que dichos archivos traen información irrelevante al principio, que una vez la importo a una tabla tmp, la elimino y paso los datos a la tabla de datos. El archivo excel es de este tipo
A B C D E F
1 TEXTO CON INFORMACIÓN IRRELEVANTE
2 01/05/2018 12:30
3
4 CIF CLIENTE DIRECCION PAGO BANCO DATO DATO
5 B12345 Frutas Pepe C/amapola Banco 2020132114
Al importar de esta forma, lo que hago es NO TENER CREADA la tabla la primera vez que importo, de forma que Access la crea automaticamente, creando el campo F1 para la columna A, F2 para B, F3 para C.....
El campo F3 de Access guarda los datos de la columna C de excel, que corresponden a la dirección, y en Access tengo definido ese campo como Texto corto SIN FORMATO. Pues bien, al importar, Access al ver que la celda C2, que contiene 01/05/2018 12:30, es de tipo fecha, se pensará que todo es de tipo fecha, y no me importa el esto de datos que hay en la columna C, creando una tabla con el nombre de la hoja del archivo excel_errors, donde pone error de conversion de tipos, es decir que intenta convertir las cadenas de texto en fechas y al no poder crea esa tabal. Si el contenido de la celda C2, lo elimino o pongo un texto cualquiera, si lo importa.
Alguien sabe como solucionar esto, es decir, que access entienda que si el campo F3 es de tipo texto y no fecha, guarde los datos de la columna C, indistintamente del valor que tenga como una cadena de texto
Muchas gracias
estoy haciendo un procedimiento en el que cargo una serie de datos contenidos en una tabla excel,
el procedimiento lo hago desde access, utilizo
DoCmd.TransferSpreadsheet acImport, 8, tabla, ruta, False, hoja, donde tabla es la tabla access, ruta el archivo excel, false donde indico que no hay cabecera, y hoja, la hoja de excel, ya que algunos documentos traen varias hojas. La tabla access la llamo Clientes
La cuestión es que dichos archivos traen información irrelevante al principio, que una vez la importo a una tabla tmp, la elimino y paso los datos a la tabla de datos. El archivo excel es de este tipo
A B C D E F
1 TEXTO CON INFORMACIÓN IRRELEVANTE
2 01/05/2018 12:30
3
4 CIF CLIENTE DIRECCION PAGO BANCO DATO DATO
5 B12345 Frutas Pepe C/amapola Banco 2020132114
Al importar de esta forma, lo que hago es NO TENER CREADA la tabla la primera vez que importo, de forma que Access la crea automaticamente, creando el campo F1 para la columna A, F2 para B, F3 para C.....
El campo F3 de Access guarda los datos de la columna C de excel, que corresponden a la dirección, y en Access tengo definido ese campo como Texto corto SIN FORMATO. Pues bien, al importar, Access al ver que la celda C2, que contiene 01/05/2018 12:30, es de tipo fecha, se pensará que todo es de tipo fecha, y no me importa el esto de datos que hay en la columna C, creando una tabla con el nombre de la hoja del archivo excel_errors, donde pone error de conversion de tipos, es decir que intenta convertir las cadenas de texto en fechas y al no poder crea esa tabal. Si el contenido de la celda C2, lo elimino o pongo un texto cualquiera, si lo importa.
Alguien sabe como solucionar esto, es decir, que access entienda que si el campo F3 es de tipo texto y no fecha, guarde los datos de la columna C, indistintamente del valor que tenga como una cadena de texto
Muchas gracias
Valora esta pregunta


0