miércoles, 12 de abril de 2017

Ejecutar la instrucción INSERT INTO de SQL desde Excel usando VBA

Continuando con los posts en los que estamos trabajando como ejecutar instrucciones de SQL desde nuestro excel, hoy vamos a trabajar con la instrucción INSERT INTO. Ya previamente vimos la instrucción UPDATE y la instrucción DELETE donde en ambos casos utilizamos la librería ADO.

Para ejecutar INSERT INTO, necesitamos lo mismo, es decir, una conexión y un comando. Así de simple.

Nuevamente nos vamos al editor de visual basic, y vamos a ingresar el código para la conexión. Recuerden que como lo vimos previamente, hay que activar la librería ADO:


En este caso, la ruta del archivo de access, la tenemos en una hoja llamada Configuración, en la celda B3.

Procedemos a crear un comando DELETE, para limpiar la tabla en la que vamos a cargar nuestros datos:


El aspecto del archivo de excel que queremos cargar en access es el siguiente:



Y vamos a utilizar una instrucción for, para iterar por cada una de las filas de nuestro excel, extraer los datos y poder pasarlos a la instrucción INSERT INTO:


Finalmente, el cargue lo realizamos mediante el uso de nuestro comando. 

La instrucción INSERT INTO en este ejemplo, requiere que le digamos la tabla, los campos y el valor que va a ir en cada campo: 

"INSERT INTO tblReales (geografia, pais, desc_ceco, desc_item, ene, feb, mar, abr, may, jun, jul, ago, sep, oct, nov, dic) VALUES('Mexico', 'Mexico','" & ceco & "', '" & item & "', " & ene & ", " & feb & ", " & mar & ", " & abr & ", " & may & ", " & jun & ", " & jul & ", " & ago & ", " & sep & ", " & oct & ", " & nov & ", " & dic & ")"

Y este es el código completo:

Código:




1 comentario: