martes, 16 de mayo de 2017

TIPOS DE DATOS DEFINIDOS POR EL USUARIO EN VBA

Un tipo de dato determina que operaciones y valores puede tener una variable, como sabemos en VBA tenemos los siguientes tipos de datos: integer , boolean , byte , doublé , decimal , single , String , currency , Date , object , variant.

VBA como la gran mayoría de lenguajes le permite al programador definir sus propios tipos de dato, para tal fin usaremos la instrucción TYPE   de tipo public , private  o como en el siguiente ejemplo sin tipo.  Como ejemplo definimos un tipo de dato que representa la información de los clientes en un programa VBA:


Como podemos ver el tipo de dato está conformado por variables diferentes (enteros, cadenas, fecha, etc.), podríamos incluir también una matriz e incluso otro tipo de dato definido por nosotros mismos. Cuando ya hemos creado nuestro tipo de datos podemos usarlo como se muestra en la siguiente rutina:


Definimos una variable de tipo Clientes a la que llamamos mycliente, podemos acceder a cada elemento del tipo de datos cliente lo  como se muestra en la rutina: variable. (Variable del tipo de dato).

Un tipo de dato definido por el programador servirá para que nuestros programas sean más legibles, lo cual facilitaría el mantenimiento del programa.

En el caso del ejemplo el tipo de dato que creamos nos servirá para asignarle valor a una instrucción sql:


Si necesitas automatizar tus procesos en Excel escríbeme 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 VBA sigue este enlace.

Si te gusto la macro descarga mi ebook  con más de veinte macros ejemplificadas y explicadas como esta.

lunes, 8 de mayo de 2017

CONECTAR EXCEL Y ACCES CON ADO

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.