El protagonista de hoy es un mecanismo que sirve
de interlocutor entre el lenguaje de programación (para nuestro caso VBA) y la base de datos, el nombre de
este es ADO. En una entrada anterior
vimos como conectar Excel y Acces con eluso del modelo de datos DAO. Aunque parezca un juego de palabras y suene
parecido ADO (ActiveX Data Objects) y DAO (Data Access Objects) tienen
sus diferencias.
Crearemos una macro que permite capturar la
información de un cliente con el uso de un formulario e insertar esta
información en una base de datos Acces.
Lo primero que haremos es crear nuestra base de
datos en Acces y dentro de ella la tabla clientes con los siguientes campos:
Definimos un formulario por medio del cual
capturaremos la información del cliente, este formulario cuenta con varios
controles algunos de los cuales ya explicamos en una entrada anterior:
Este es el código para conectarse a la base de
datos:
La variable cnn definida de tipo ADODB.Conection
, nos servirá para conectarnos a la base de datos, la variable nomdatabase de
tipo string contiene la ubicación de la base de datos , la instrucción
thisworkbook.path nos retorna la ruta del libro de Excel abierto actualmente como la base de datos está en la
misma ruta lo único que debemos hacer es agregar el nombre de la misma. Después
de esto abrimos la base de datos.
Para manejar la información del formulario cree
un tipo de datos definido por el usuario
al cual llame clientes esto lo hice utilizando la palabra reservada type, en próximas entradas trataremos
más a fondo su uso.
En la siguiente
rutina empezamos a hacer uso del tipo de dato clientes:
Esta rutina recibe como parámetro el formulario
creado anteriormente, definimos la variable mycliente de tipo clientes y
asignamos a cada campo el valor que contiene el formulario.
Creamos una rutina
en la cual generamos la instrucción SQL para insertar el registro en la base de
datos.
Esta rutina recibe
como parámetro una variable de tipo clientes (tipo de dato que definimos
previamente) y crea una instrucción SQL insert.
Finalmente creamos una rutina que lo único que
hace es ejecutar la sentencia SQL:
Esta rutina recibe como parámetro la instrucción
SQL y la ejecuta con el comando Execute.
Si necesitas automatizar tus procesos en Excel escribe a
macrosymacros1@gmail.com.
Con este curso online aprenderás más
sobre VBA.
El curso consta de 7 horas y 28
lecciones en vídeo. Aprenderás a ahorrar tiempo en excel , al automatizar tu
trabajo mediante macros evitando pérdida de tiempo en tareas repetitivas.
Aprenderás desde cero a programar en VBA.
Para mayor información sobre el curso
de Excel sigue este enlace.
Si te gusto la macro puedes descargar mi ebook con más de veinte macros ejemplificadas y
explicadas como esta.
viejo no funciona porque no pones completo el codigo de la conexion
ResponderEliminar