29- ¿ Que es VBA ?
VBA (Visual Basic for Applications) es un
lenguaje de programación basado en eventos
desarrollado por Microsoft. Está diseñado
para automatizar tareas, personalizar
funciones y ampliar las capacidades de
varias aplicaciones de Microsoft Office,
incluyendo Access, Excel, Word, entre otras.
Aunque es una extensión de Visual Basic 6.0,
se integra directamente en los entornos de
las aplicaciones anfitrionas.
Uso de VBA en
Microsoft Access
En el contexto de Microsoft
Access, VBA permite a los
usuarios crear soluciones
personalizadas que van más allá
de lo que se puede lograr con
las macros estándar. Algunas de
sus principales aplicaciones
incluyen:
* Automatización de tareas
repetitivas, como la importación
de datos, la generación de
informes o la gestión de
registros.
* Personalización de formularios
e informes, permitiendo añadir
botones, validar entradas,
cambiar dinámicamente la
interfaz o controlar el
comportamiento de los controles.
* Interacción avanzada con bases
de datos, como ejecutar
consultas SQL directamente desde
el código o integrar Access con
otros sistemas o aplicaciones
externas.
* Creación de módulos de código,
que permiten estructurar
funcionalidades complejas y
reutilizables de forma ordenada.
Características clave de VBA
* Lenguaje basado en eventos:
Responde a acciones del usuario
(clics, cambios de valor,
aperturas de formularios, etc.).
* Fácil de aprender: Ideal para
usuarios con conocimientos
básicos de programación o
experiencia previa en Visual
Basic.
* Incluido en Office: Viene
integrado en versiones de
Microsoft Office como Access
2019 y Microsoft 365.
* Lenguaje interpretado: El
código se ejecuta directamente
dentro del entorno de Access,
sin necesidad de compilar como
un programa independiente.
* Alta flexibilidad: A pesar de
ciertas limitaciones técnicas,
es lo suficientemente potente
para crear aplicaciones
completas dentro de Access.
Para comenzar a
programar con VBA en Access:
1. Ve a la pestaña "Crear" en la
cinta de opciones.
2. Haz clic en "Módulo" dentro
del grupo "Macros y código".
3. Se abrirá el Editor de Visual
Basic, donde podrás escribir y
organizar tu código VBA.
Compatibilidad y
futuro de VBA
* Compatibilidad: El código
desarrollado en Access 2019 y
Microsoft 365 suele ser
compatible con versiones
anteriores, aunque se recomienda
revisar funciones específicas al
migrar bases de datos.
* Futuro de VBA: Microsoft ha
señalado que en el futuro
promoverá Visual Studio Tools
for Applications (VSTA) como
posible sucesor de VBA, aunque
esta transición aún no tiene
fecha definida.
Ejemplos prácticos
de VBA en Access
* Crear un botón que abra un
informe específico al hacer
clic.
* Automatizar la importación de
datos desde un archivo Excel.
* Calcular el precio total de un
producto considerando descuentos
e impuestos.
* Diseñar formularios adaptados
a las necesidades específicas de
un usuario o departamento.
Recursos disponibles
Existen numerosos recursos en
línea, documentación oficial y
comunidades activas que ofrecen
soporte, ejemplos y soluciones
para trabajar con VBA en Access,
lo que facilita el aprendizaje y
la implementación de proyectos.
Ejemplo: Abrir un
informe desde un botón
Supongamos que tienes un informe
llamado "InformeVentas" y
quieres que, al hacer clic en un
botón de un formulario, se abra
ese informe.
1. Inserta un botón en
tu formulario:
• Abre tu formulario en vista de
diseño.
• Desde la pestaña "Diseño",
selecciona el control "Botón" y
dibújalo en el formulario.
• Cuando aparezca el asistente
de botones, puedes cancelarlo
(ya que vamos a escribir el
código manualmente).
2. Abre el Editor de
VBA:
• Con el botón seleccionado, haz
clic derecho y elige "Generar
evento..." para el evento Al
hacer clic.
• Se abrirá el Editor de VBA,
donde puedes escribir el
siguiente código:
Private Sub
NombreDelBoton_Click()
DoCmd.OpenReport "InformeVentas",
acViewPreview
End Sub
Reemplaza NombreDelBoton con el
nombre real del botón (puedes
verlo en la hoja de
propiedades).
"InformeVentas" debe
coincidir exactamente con el
nombre del informe en tu base de
datos.
Explicación del
código:
• Private Sub ... End Sub:
Define el procedimiento que se
ejecutará al hacer clic.
• DoCmd.OpenReport: Es un método
de VBA que abre un informe.
• "InformeVentas": Es el nombre
del informe a abrir.
• acViewPreview: Abre el informe
en modo vista previa (también
puedes usar acViewReport para
vista normal o acViewDesign para
vista diseño).