De SQL a VBA
jbwzSQL2VBA. Complemento para pasar texto SQL a una cadena de texto en VBA.
Se trata de una sencilla utilidad para facilitar la tarea de pasar código SQL a código VBA que construye una cadena de texto para usar como SQL.
Está pensada como un complemento, de manera que, una vez instalada, está disponible siempre en Cinta de opciones->Herramientas de base de datos->Complementos. Sin embargo, también se puede utilizar abriéndola directamente, en cuyo caso solo cabe la posibilidad de pegar el código SQL que queremos convertir.
Descarga
Debemos descargar el archivo jbwzSQL2VBA.rar, descomprimirlo en la ubicación que queramos y proceder a instalar el complemento.
SQL a VBA
Podemos usar el generador de consultas de Access, guardar la consulta y luego seleccionarla desde la herramienta. Al hacerlo, se muestra el texto SQL en la ventana de la izquierda "SQL Original" y el texto convertido a VBA en la ventana de la derecha, 2SQL en VBA".
También podemos pegar texto SQL que hayamos copiado al portapapeles, directamente a la ventana "SQL Original" el resultado será el mismo que si hubiéramos seleccionado una consulta.
Sustituir selección por variable
Como habitualmente se copia SQL a VBA para construir una cadena en la que se sustituye parte del texto SQL por una variable concatenada, he añadido una pequeña utilidad para facilitar esta tares.
En el cuadro de texto "SQL en VBA" podemos seleccionar el texto que queramos sustituir por una variable
Pulsado en el botón "Sustituir selección por variable", se muestra un cuadro de diálogo que nos permite definir el nombre de la variable y el tipo de ésta. Una vez hecho, pulsamos aceptar.
En resultado es que en el texto VBA se ha sustituido la selección por una variable, con el nombre que hemos elegido, correctamente concatenado dependiendo del tipo de datos que hayamos indicado.
También hemos dimensionado como Variant la variable que usamos en la sustitución y hemos añadido en la parte superior una línea para asignarle valor. En cadenas SQL muy largas resulta muy pesado buscando la concatenación si queremos mas adelante sustituir un valor, y queda mas limpio si, en vez de concatenar directamente, lo hacemos utilizando un variable intermedia.
De VBA a SQL
En el menú Cinta de opciones->Herramientas de base de datos->Complementos encontramos, si hemos instalado el complemento, debajo de "Pasar SQL a VBA", la opción "Pasar VBA a SQL". Se trata de revertir el proceso anterior, para, sie es necesario, comprobar la sintaxis del texto SQL que generamos en VBA.