Northwind 2.0 Starter Edition: una breve introducción a VBA

Se aplica a
Access para Microsoft 365 Access 2021 Access 2019

En las secciones siguientes se proporciona información útil sobre VBA. Los nombres de objeto se proporcionan para que pueda examinarlos fácilmente en la base de datos de Northwind 2.0 Starter Edition.

VBA

VBA (Visual Basic para Aplicaciones) es el lenguaje de programación que se usa en todos los productos de Microsoft 365, no solo en Access. Se documenta principalmente aquí: Acceder a la documentación para desarrolladores. Para empezar, consulte Introducción a la programación de Access.

Al buscar información, asegúrese de buscar ejemplos específicos de Access e incluya Microsoft Access en el término de búsqueda. A menudo, las soluciones para los demás productos de Microsoft 365 funcionarán, pero pueden requerir cambios.

Microsoft Access es un producto maduro. Eso significa que hay muchos ejemplos por ahí, lo cual es genial para ti. Esto también significa que los libros más antiguos sobre programación de Access siguen siendo viables para que los veas. Muchos de los libros más antiguos todavía están disponibles en sitios de libros usados a una fracción de su costo original. 

Ubicaciones de confianza y contenido habilitado

Los archivos de Microsoft Access son archivos de Microsoft 365. Los archivos de Microsoft 365 deben estar en una ubicación de confianza o tener habilitado su contenido. Estos elementos se consideran seguros porque los has creado tú o provienen de una fuente de confianza. Esta comprobación se produce cada vez que abre cualquier archivo de Microsoft 365. A partir de ahora, nos referiremos a esto como de confianza o habilitado. Si se publica una nueva versión de la aplicación y se abre desde una ubicación que no es de confianza, se repetirá el proceso de habilitación del contenido. Para obtener más información, consulte Ubicaciones de confianza para archivos de Microsoft 365, Decidir si confiar en una base de datos y Agregar, quitar o cambiar una ubicación de confianza en Microsoft 365.

Macros, funciones y subprocedimientos

Las macros, las funciones y los procedimientos sub son la forma de implementar la lógica empresarial en la base de datos de Access.

Los controles de un formulario (como botones, cuadros de texto, etiquetas, etc.) pueden usar sus eventos (como hacer clic en el control) para desencadenar otros procesos, como agregar, eliminar registros o abrir formularios. Estos procesos se pueden implementar mediante macros o VBA. Northwind usa principalmente macros y algo de VBA. Para obtener más información, vea Acción de macro RunCode.

Algunos tipos de control tienen asistentes integrados que crean automáticamente una macro. Por ejemplo, al agregar un botón de comando a un formulario, se abrirá un asistente que ofrecerá varias opciones de funcionalidad para el botón. Al agregar un cuadro combinado, se abrirá un asistente que se puede configurar para buscar un registro determinado en el formulario.

El panel de navegación es la forma principal de ver y obtener acceso a todos los objetos de base de datos y se muestra en el lado izquierdo de la ventana de Access de forma predeterminada. Se ha personalizado el panel de navegación de Northwind 2.0 Starter Edition. Hemos creado una categoría personalizada denominada Northwind Starter 2.0. Esto nos permite organizar los objetos por área funcional. Para obtener más información, consulte Personalizar el panel de navegación.

Alcance y visibilidad

Es importante que obtenga información sobre el ámbito y la visibilidad en Access y Microsoft 365. El ámbito hace referencia a la disponibilidad de una variable, constante o procedimiento para que lo use otro procedimiento. Hay tres niveles de alcance: nivel de procedimiento, nivel de módulo privado y nivel de módulo público. El ámbito de una variable se determina al declararla. Es recomendable declarar todas las variables explícitamente para evitar errores de conflicto de nomenclatura entre variables con ámbitos diferentes. Todos los módulos tienen dos instrucciones directivas: Option Compare Database y Option Explicit.  Para obtener más información, consulte Descripción del alcance y la visibilidad, Declaraciónpública, Declaración privada, Declaración estática y Descripción de la duración de las variables

Variables persistentes

A veces necesita que exista una variable después de que el objeto que la creó salga del alcance. Hay tres formas principales de hacerlo: Variables públicas, TempVars y almacenamiento de los valores en una tabla local. Cada uno de estos tiene pros y contras. Muchos desarrolladores usan una mezcla de estos.

Las variables públicas y las TempVars existen para la sesión actual y salen del ámbito cuando se cierra la aplicación. ¿Qué ocurre si quieres mantener variables específicas de los usuarios en todas sus sesiones? Puede almacenar estos tipos de valores en una tabla local. En Northwind 2.0 Starter Edition, tenemos esos valores en una tabla llamada SystemSettings. Por ejemplo, un valor de la tabla es "ShowWelcome". Este valor nos indica si quiere ver la pantalla de bienvenida cada vez que inicie sesión o no.

Control de errores

Si ha usado asistentes para controles integrados en Access, sabe que si se crea una macro, a menudo no hay ningún control de errores, y si se crea VBA, puede limitarse a una función MsgBox, estilo Err.Description.

En Northwind 2.0 Starter Edition, hemos implementado lo que se denomina un controlador de errores global. Los errores que se producen en cualquier procedimiento llaman a una función en el nivel global para mostrar el error. La gran ventaja es que el código es consistente y, si es necesario cambiar el mensaje, por ejemplo, mostrar el número de error o registrar el error en un archivo, solo se puede hacer en un lugar.

clsErrorHandler es el módulo de clase que implementa el código de tratamiento de errores. Un módulo de clase mantiene todas sus funciones principales y auxiliares juntas en una unidad, lo que hace que el código sea más encapsulado. La macro AutoExec finalmente llama a la función de inicio en modStartup, crea una instancia de clsErrorHandler y la guarda como una variable global para que se pueda usar en toda la aplicación.

De hecho, el código de manejo de errores en los procedimientos es tan consistente que pudimos crearlo todo en menos de cinco minutos usando un código VBA sofisticado que equipó cada procedimiento con el controlador de errores adecuado. Este código no está incluido en la plantilla.

Consulte también

Northwind 2.0 Starter Edition