Cómo conectar MySQL con Excel por VBA - CableNaranja

Cómo conectar MySQL con Excel por VBA

¡Comparte nuestro contenido!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

En una ocasión anterior, aprendimos a conectar MySQL y Excel por medio del componente MySQL for Excel, en esta ocasión haremos lo mismo pero utilizando un conector ODBC con el objetivo de crear aplicaciones en VBA (Visual Basic for Applications) que utilicen MySQL como almacén principal de datos ¿Quieres saber cómo? ¡Manos a la obra!

Descargando e instalando el conector ODBC

Lo primero que necesitamos realizar es la descarga del conector ODBC de MySQL. Al momento de llegar a la página oficial, seleccionamos el instalador de 64 bits (MSI Installer)

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la siguiente página, seleccionamos la opción No thanks, just start my download.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Lo guardamos en un lugar seguro.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Es momento de abrirlo e instalarlo.

En algunos casos, sobre todo si es la primera vez que estamos configurando este tipo de componentes, se nos solicitará instalar un componente adicional llamada Visual Studio 2019 x64. Presionemos el botón OK para cerrar este ventana.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Y luego el botón Finish para cerrar de momento el instalador.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Es hora de instalar el Visual Sutdio 2019 x64 redistributable, al ingresar en su página oficial descargamos la versión x64 obviamente.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Lo guardamos en un lugar seguro.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Ejecutemos este último archivo primero.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Marquemos la opción I agree to the license terms and conditions y luego presionamos el botón Install.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la ventana de Control de cuentas de usuario, presionamos el botón .

Cómo conectar MySQL con Excel por VBA - CableNaranja

El primer componente ha quedado instalado, presionemos el botón Close para cerrar esta ventana.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Es tiempo de instalar el conector ODBC ahora que ya no hay ningún otro requisito.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la primera ventana, presionamos el botón Next.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Después, seleccionamos I accept the terms in the license agreement y presionamos Next.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la siguiente ventana, dejamos la opción Typical seleccionada y nuevamente presionamos Next.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Por último, presionamos el botón Install.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En el Control de cuentas de usuario, presionamos el botón Si.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Presionamos Finish para terminar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Activando el modo programador de Excel

En la ventana de Excel, damos clic en la opción Personalizar barra de herramientas de acceso rápido.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Elegimos Más comandos.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la ventana de diálogo, seleccionamos la opción Personalizar cinta de opciones en la lista de la izquierda, luego marcamos la opción Programador y presionamos el botón Aceptar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Ahora que ya tenemos la pestaña Programador, presionamos el botón Visual Basic para comenzar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

El entorno debe verse así

Cómo conectar MySQL con Excel por VBA - CableNaranja

Añadiendo la referencia necesaria

Antes de comenzar a programar, necesitamos añadir la referencia al objeto ADODB que será el que nos permitirá usar el ODBC. Para ello, vamos al menú Herramientas y luego escogemos Referencias.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la siguiente ventana, seleccionamos Microsoft ActiveX Data Objects 2.8 Library y luego presionamos el botón Aceptar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Programando el módulo para la conexión

En la ventana de Proyecto, presionamos el botón derecho del ratón sobre VBAProject, luego elegimos Insertar y por último tomamos la opción Módulo.

Cómo conectar MySQL con Excel por VBA - CableNaranja

El módulo luce así.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Lo primero que necesitamos es una variable de ámbito Global y de tipo ADODB.Connection

Global conexion As ADODB.Connection

Lo siguiente que debemos hacer, es crear el procedimiento para hacer la conexión. Los procedimientos son similares a las funciones, en Visual Basic se definen con la palabra clave Sub.

Sub conectar()
End Sub

Trabajaremos dentro de ese procedimiento. Necesitamos una variable de tipo String para formar lo que se conoce como cadena de conexión.

Dim cadena as String

Formaremos la cadena concatenando algunos elementos. El primero es el nombre del driver ODBC que usaremos. Al momento de escribir este artículo, es MySQL ADOC 8.0 ANSI Driver. Por favor, nota el punto y coma antes de finalizar la cadena.

cadena = "DRIVER={MySQL ODBC 8.0 ANSI Driver};"

El segundo elemento incluye el nombre del servidor y la base de datos que usaremos. Si estamos en modo local, recuerda que el nombre es localhost de otra manera se necesita la ip o nombre del servidor.

cadena = cadena + "SERVER=localhost;DATABASE=ejemplo;"

El tercer elemento es el nombre de usuario y contraseña. Por motivos educativos usaremos a root, pero recuerda que es recomendable crear un usuario propio.

cadena = cadena + "USER=root;PASSWORD=;"

Una vez creada la cadena, abrimos la conexión con ella.

conexion.Open cadena

Si la conexión regresa el valor de estado 1, entonces hemos logrado una conexión. Si obtenemos un valor diferente terminamos al programa.

If conexion.State = 1 Then
   MsgBox "Conexión establecida"
Else: End
End If

Nuestro código debe quedar como sigue:

Cómo conectar MySQL con Excel por VBA - CableNaranja

Creando la base de datos

Es momento de crear la base de datos que se necesita. En mi caso, tengo un servidor montado con XAMPP que me permite a través de phpMyAdmin trabajar con el servidor. Si tienes una instalación o configuración diferente, tal vez quieras saltar este paso y hacerlo como te funcione.

Lo primero es abrir XAMPP e iniciar tanto Apache como MySQL, presionando su correspondiente botón Start. Debemos esperar hasta que cambie a Stop y los programas aparezcan en color verde.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Si tenemos una instalación típica, bastará con escribir http://localhost/phpmyadmin/ en la barra de dirección de nuestro navegador web.

A continuación, presionamos el botón Nueva que se encuentra en la barra lateral izquierda.

Cómo conectar MySQL con Excel por VBA - CableNaranja

En la siguiente ventana, escribimos el nombre de la base de datos, escogemos utf8_spanish_ci como cotejamiento y presionamos el botón Crear.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Como podemos observar, la base de datos ha sido creada. No importa que por el momento se encuentre vacía, en futuras entradas tocaremos esos temas.

Cómo conectar MySQL con Excel por VBA - CableNaranja

¡Es hora de probar la conexión!

Regresemos a Excel, específicamente a la pestaña Programador. En ella encontraremos un botón llamado Insertar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Al darle clic al botón, este nos mostrará una lista con más botones. Elegimos el primero de toda la lista llamado Botón(control de formulario)

Cómo conectar MySQL con Excel por VBA - CableNaranja

Después, lo dibujamos dentro de nuestra hoja de cálculo de la misma forma en como lo hacemos con las formas y objetos típicos de Excel.

Cómo conectar MySQL con Excel por VBA - CableNaranja

AL terminar de dibujarlo, nos saldrá la ventana de diálogo Asignar macro. En esa ventana, seleccionamos nuestro procedimiento conectar que hicimos en el entorno de Visual Basic y presionamos Aceptar.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Una vez hecho eso, le damos clic a la etiqueta del botón y la cambiamos por un texto más apropiado. Para terminar de editar el botón, solo hay que dar clic afuera del mismo.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Para terminar, demos clic al botón que acabamos de crear.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Y si todo salió bien, deberíamos obtener el mensaje de confirmación que programamos en el procedimiento.

Cómo conectar MySQL con Excel por VBA - CableNaranja

Y eso es todo por ahora ¿Te ha resultado? Déjanos saber en los comentarios aquí abajo, en nuestra cuenta de twitter @cablenaranja7 o en nuestra página de facebook.

¡Comparte nuestro contenido!

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *