Está en la página 1de 12

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA GEOLOGICA MINERA Y


METALURGICA
Escuela Profesional de Ingeniería de Minas

2da MONOGRAFIA: “MACROS EN ACCESS”

CURSO:
 SISTEMA DE PROCESAMIENTO DE DATOS
ALUMNO:
 Irribarren Retuerto Luis Fernando 20164122F
DOCENTE:
 Ing. Adolfo Chávez Valdivia

2019-I
1. ¿QUÉ ES UNA MACRO?
Una macro en Access es una herramienta que permite automatizar tareas y agregar
funcionalidad a los formularios, informes y controles. Por ejemplo, si agrega un botón de
comando a un formulario, asocia el evento OnClick del botón a una macro que contiene
los comandos que desea que se lleven a cabo cada vez que haga clic en el botón.

En Access, resulta útil considerar las macros como un lenguaje de programación


simplificado que se escribe mediante la creación de una lista de acciones que se pueden
realizar. Al crear una macro, seleccione todas las acciones de una lista desplegable y,
después, rellene la información necesaria para cada acción. Las macros le permiten
agregar funcionalidad a formularios, informes y controles sin escribir código en un
módulo de Visual Basic para aplicaciones (VBA). Las macros proporcionan un
subconjunto de los comandos disponibles en VBA y a muchas personas les resulta más
fácil crear una macro que escribir código de VBA.

Por ejemplo, supongamos que quiere iniciar un informe directamente desde uno de los
formularios de entrada de datos. Puede agregar un botón al formulario y, después, crear
una macro que abra el informe. La macro puede ser independiente (un objeto aparte en
la base de datos) y estar enlazada al evento OnClickdel botón, o bien puede insertarse
directamente en el evento OnClick del propio botón. En ambos casos, al hacer clic en
el botón, la macro se ejecuta y abre el informe. Estos tipos de macros normalmente se
denominan macros de interfaz de usuario.

Las macros se crean con el Generador de macros, como en el ejemplo que se muestra
en la siguiente ilustración.

Para mostrar el Generador de macros para macros de interfaz de usuario:

 En el grupo Macros y código de la pestaña Crear, haga clic en Macro.

Para mostrar el Generador de macros para macros de datos:

 Abrir una tabla en la vista Hoja de datos. En la pestaña Tabla en los grupos Eventos
anteriores y Eventos posteriores, haga clic en uno de los comandos de evento,
como Antes del cambio o Después de insertar.

1
2. FUNCIONES DE MACROS EN ACCESS
En versiones anteriores de Access, muchas funciones utilizadas comúnmente no se
podían realizar sin escribir código VBA. En las versiones actuales de Access, se han
agregado nuevas características y acciones de macro para ayudar a eliminar la
necesidad de escribir código. Esto hace que sea más sencillo agregar funcionalidad a
la base de datos y a que sea más segura.

 Macros incrustados Tiene la posibilidad de incrustar macros en cualquiera de los


eventos proporcionados por un formulario, informe o control. Una macro incrustada no
está visible en el Panel de navegación, sino que se convierte en parte del formulario,
informe o control en el que se ha creado. Si crea una copia de un formulario, informe o
control que contiene macros incrustados, las macros también están presentes en la
copia.

 Mayor seguridad Cuando el botón Mostrar todas las acciones no está resaltado en
el Generador de macros, las únicas acciones de macro y argumentos RunCommand
que están disponibles para su uso son los que no requieren estado de confianza para
ejecutarse. Una macro generada con estas acciones se ejecutará incluso cuando la
base de datos esté en modo deshabilitado (cuando se impida la ejecución de VBA). En
el caso de las bases de datos que contienen acciones de macro que no están en la lista
de confianza (o bases de datos que tienen código VBA), es necesario conceder
explícitamente el estado de confianza.

 Control de errores y depuración Access proporciona acciones de macro,


como OnError (similar a la instrucción "On Error" en VBA) y ClearMacroError, que le
permiten realizar acciones específicas cuando se producen errores mientras se ejecuta
la macro. Además, la acción de macro SingleStep le permite cambiar al modo paso a
paso en cualquier punto de la macro, por lo que puede observar cómo funciona la macro
viendo solo una acción a la vez.

 Variables temporales Tres acciones de macro (SetTempVar, RemoveTempVar,


y RemoveAllTempVars) le permiten crear y usar variables temporales en las macros.
Puede usarlas en expresiones condicionales para controlar las macros en ejecución o
pasar datos a formularios o informes o desde ellos, o para otros fines que requieran un
lugar de almacenamiento temporal para un valor. Estas variables temporales también
son accesibles en VBA, por lo que puede usarlas para comunicar datos entre los
módulos de VBA.

2
3. INTRODUCCIÓN A LA PROGRAMACIÓN DE
ACCESS

Cuando crea una base de datos, normalmente empieza creando varios objetos de base
de datos, como tablas, formularios e informes. Finalmente, llega a un punto en el que
tiene que agregar algo de programación para automatizar algunos procesos y vincular
los objetos de la base de datos. Este artículo le orientará sobre el uso de las
herramientas de programación en Access.

¿Qué es la programación?
En Access, la programación es el proceso de agregar funcionalidad a la base de datos
mediante macros de Access o código de Visual Basic para Aplicaciones (VBA). Por
ejemplo, supongamos que ha creado un formulario y un informe y desea agregar un
botón de comando al formulario para que, al hacer clic, se abra el informe. En este caso,
la programación es el proceso de creación de una macro o un procedimiento de VBA y
de configuración de la propiedad de evento OnClick del botón de comando para que al
hacer clic en el botón de comando se ejecute la macro o el procedimiento. Para una
operación sencilla, como abrir un informe, puede usar el Asistente para botones de
comando para que haga todo el trabajo o puede desactivar el asistente y hacer la
programación usted mismo.

Los objetos, como formularios e informes, y los controles, como botones de comando y
cuadros de texto, tienen diferentes propiedades de evento a las que puede adjuntar
macros o procedimientos. Cada propiedad de evento está asociada a un evento
específico, como hacer clic con el mouse, abrir un formulario o modificar datos en un
cuadro de texto. También pueden desencadenar eventos algunos factores externos a
Access, como los eventos del sistema o macros o procedimientos adjuntos a otros
eventos. Su base de datos puede ser compleja si agrega muchas macros o
procedimientos para varias propiedades de evento de muchos objetos, pero, en la
mayoría de los casos, puede obtener los resultados que desea con muy poca
programación.

¿Debo usar macros o código de VBA?


La decisión de usar macros, VBA o ambos depende principalmente de cómo tiene
previsto implementar o distribuir la base de datos. Por ejemplo, si la base de datos se
almacena en el equipo, usted es el único usuario y está familiarizado con el código de
VBA, puede usar VBA para realizar la mayoría de las tareas de programación. Sin
embargo, si desea compartir la base de datos con otras personas en un servidor de
archivos, es recomendable evitar el uso de VBA por motivos de seguridad.

Debe basar su decisión de usar macros o código de VBA en dos cuestiones: la seguridad
y la funcionalidad que desea. La seguridad es importante porque VBA puede usarse
para crear código que pone en peligro la seguridad de sus datos o que puede dañar
archivos de su equipo. Si usa una base de datos creada por otra persona, debe habilitar
el código de VBA solo si sabe que la base de datos procede de una fuente de confianza.
Al crear una base de datos que usarán otros usuarios, intente evitar incluir herramientas
de programación que necesitan específicamente conceder un estado de confianza a la
base de datos. Las técnicas generales para evitar que los usuarios necesiten confiar en
la base de datos se incluyen más adelante en esta sección.

3
Para ayudar a garantizar la seguridad de la base de datos, intente usar macros cuando
sea posible y programación de VBA solo para las operaciones que no se puedan realizar
mediante el uso de acciones de macro. Además, intente usar solo las acciones de macro
para las que no sea necesario conceder el estado de confianza a la base de datos para
poder ejecutarlas. Al limitar el uso de acciones de macro de esta manera, permite que
los usuarios confíen en que la base de datos no tiene ninguna programación que podría
dañar los datos u otros archivos de sus equipos.

Consideraciones de las macros


A partir de la versión de Access 2010, Access contiene muchas acciones de macro
nuevas que le permiten crear macros más eficaces que con las versiones anteriores de
Access. Por ejemplo, ahora puede crear y usar variables temporales globales con
acciones de macro y puede controlar los errores con más precisión mediante las nuevas
acciones de macro de control de errores. En versiones anteriores de Access, estas
características solo están disponibles mediante el uso de VBA. Asimismo, puede
incrustar una macro directamente en la propiedad de evento de un objeto o de un control.
Una macro incrustada pasa a formar parte del objeto o del control y permanece unida a
él cuando se mueve o se copia.

Las macros resultan una forma sencilla de administrar muchas tareas de programación,
como abrir y cerrar formularios y elaborar informes. Puede unir de forma rápida y fácil
los objetos de la base de datos (formularios, informes, etc.) que ha creado porque no es
necesario utilizar mucha sintaxis. Los argumentos de cada acción se muestran en el
Generador de macros.

Además del aumento de la seguridad y de la facilidad de uso que proporcionan las


macros, debe usar macros para realizar las siguientes tareas:

 Asignar una acción o conjunto de acciones a una clave. Para ello, es necesario crear un
grupo de macros denominado AutoKeys.
 Realizar una acción o una serie de acciones cuando se abre por primera vez una base
de datos. Para ello, es necesario crear una macro denominada AutoExec.

Consideraciones de VBA
Debe usar la programación de VBA en lugar de macros para realizar uno de estos
procedimientos:

 Usar funciones integradas o crear sus propias funciones Access incluye muchas
funciones integradas, como la función IPmt, que calcula el pago de intereses. Puede
usar estas funciones integradas para realizar cálculos sin tener que crear expresiones
complejas. Al usar código de VBA, también puede crear sus propias funciones para
realizar cálculos que superen la capacidad de una expresión o para reemplazar
expresiones complejas. Además, puede usar las funciones que cree en expresiones
para aplicar una operación común a más de un objeto.
 Crear o manipular objetos En la mayoría de los casos, le resultará más fácil crear y
modificar un objeto en la vista Diseño de ese objeto. Sin embargo, en algunas
situaciones es recomendable manipular la definición de un objeto en el código. Si usa
VBA, puede manipular todos los objetos de una base de datos, además de la propia
base de datos.
 Realizar acciones de nivel de sistema Puede llevar a cabo la
acción EjecutarAplicación en una macro para ejecutar otro programa (como Microsoft

4
Excel) desde Access, pero no puede usar una macro para hacer mucho más fuera de
Access. Si usa VBA, puede comprobar si existe un archivo en el equipo, usar Automation
o Intercambio dinámico de datos (DDE) para comunicarse con otros programas basados
en Microsoft Windows, como Excel, y llamar a funciones de bibliotecas de vínculos
dinámicos (DLL) de Windows.
 Manipular registros uno a uno Puede usar VBA para desplazarse por un conjunto
de registros, de uno en uno, y realizar una operación en cada registro. En cambio, las
macros trabajan con conjuntos de registros completos cada vez.

Obtener información sobre macros


Resulta útil considerar las macros de Access como lenguaje de programación
simplificado con el que puede crear código mediante la generación de una lista de
acciones a realizar. Al crear una macro, seleccione todas las acciones de una lista
desplegable y, después, rellene la información necesaria para cada acción. Las macros
le permiten agregar funcionalidad a formularios, informes y controles sin escribir código
en un módulo de VBA. Las macros proporcionan un subconjunto de los comandos
disponibles en VBA y a muchas personas les resulta más fácil crear una macro que
escribir código de VBA.

Las macros se crean con el Generador de macros, que se muestra en la siguiente


ilustración.

Para mostrar el Generador de macros:

 En el grupo Macros y código de la pestaña Crear, haga clic en Macro.

5
CONVERTIR MACROS EN CÓDIGO DE VBA

Puede usar Access para convertir automáticamente macros en módulos de VBA o


módulos de clase. Puede convertir las macros adjuntas a un formulario o un informe,
tanto si son objetos independientes como macros incrustadas. También puede convertir
las macros globales que no están adjuntas a un formulario o informe específicos.

CONVERTIR MACROS ADJUNTAS A UN FORMULARIO O


INFORME
Este proceso convierte a VBA cualquier macro a la que se haga referencia o que esté
incrustada en un formulario o informe, o en cualquiera de los controles, y agrega el
código de VBA al módulo de clase del informe o del formulario. El módulo de clase pasa
a formar parte del formulario o del informe y se desplaza con él cuando se mueve o se
copia.

1. Haga clic con el botón derecho en el formulario o informe en el panel de navegación y,


luego, haga clic en Vista Diseño.
2. En la pestaña Diseño, en el grupo Herramientas, haga clic en Convertir macros del
formulario a Visual Basic o Convertir macros del informe a Visual Basic.
3. En el cuadro de diálogo Convertir macros de formulario o en el de Convertir macros
de informe, seleccione si desea que Access agregue código de control de errores a las
funciones que genera. Además, si sus macros tienen comentarios, seleccione si desea
que se incluyan como comentarios en las funciones. Haga clic en Convertir para
continuar.

Si no existe ningún módulo de clase para el formulario o el informe, Access crea uno y
agrega un procedimiento en el módulo para cada macro asociada al formulario o al
informe. Access también cambia las propiedades de evento del formulario o del informe
para que se ejecuten los nuevos procedimientos de VBA en lugar de las macros.

4. Para ver y editar el código de VBA:


a. Con el formulario o el informe abiertos en la vista Diseño, si no se muestra la hoja de
propiedades, presione F4 para mostrarla.
b. En la pestaña evento de la hoja de propiedades, haga clic en cualquier cuadro de
propiedad que muestre [procedimiento de evento]y, a continuación, haga clic en el
botón generar . Para ver las propiedades de evento de un control específico, haga
clic en el control para seleccionarlo. Para ver las propiedades de evento de todo el
formulario o informe, seleccione Formulario o Informe en la lista desplegable que se
encuentra en la parte superior de la hoja de propiedades.

Access abre el Editor de Visual Basic y muestra el procedimiento de evento en su


módulo de clase. Puede desplazarse hacia arriba o hacia abajo para ver otros
procedimientos que se encuentran en el mismo módulo de clase.

6
4. ANEXOS

Base de datos de Access

Atributo Máximo

Tamaño de archivo de una base de datos 2 gigabytes menos el espacio necesario


de Microsoft Access (.mdb) (base de datos para los objetos de sistema (objeto del
de Microsoft Access: colección de datos y sistema: objetos de base de datos que
objetos (como tablas, consultas o define el sistema, como la tabla
formularios), que está relacionada con un MSysIndexes, o el usuario. Puede crear
tema o propósito concreto. El motor de un objeto del sistema dando nombre al
base de datos Microsoft Jet administra los objeto con USys como primeros cuatro
datos.) caracteres en el nombre del objeto.).

Número de objetos en una base de datos 32,768

Módulos (incluyendo formularios e 1,000


informes con la propiedad
TieneUnMóduloAsociado (HasModule)
establecida a Verdadero)

Número de caracteres en un nombre de 64


objeto

Número de caracteres en una contraseña 14

Número de caracteres en un nombre de 20


usuario o de grupo

Número de usuarios que pueden tener 255


acceso a la vez

Tabla

Atributo Máximo

Número de caracteres en un nombre 64


de tabla

Número de caracteres en un nombre 64


de campo

Número de campos en una tabla 255

Número de tablas abiertas 2.048; el número real puede ser menor


debido a las tablas que abre Microsoft
Access internamente.

7
Tamaño de tabla 2 gigabytes menos el espacio necesario
para los objetos de sistema

Número de caracteres en un campo 255


de texto

Número de caracteres en un campo 65.535 cuando se introducen datos desde


memo la interfaz de usuario;
1 gigabyte de almacenamiento de
caracteres cuando se introducen datos
mediante código

Tamaño de un campo objeto OLE 1 gigabyte

Número de índices en una tabla 32

Número de campos en un índice 10

Número de caracteres en un mensaje 255


de validación

Número de caracteres en una regla 2,048


de validación

Número de caracteres en 255


una descripción de tabla o campo

Número de caracteres en un registro 2,000


(sin incluir los campos memo y
objeto OLE)

Número de caracteres en la 255


configuración de una propiedad

Consulta

Atributo Máximo

Número de relaciones 32 por tabla menos el número de índices que hay en


forzadas la tabla para campos o combinaciones de campos
que no forman parte de las relaciones

Número de tablas en una 32


consulta

Número de campos en un 255


conjunto de registros

Tamaño de un conjunto 1 gigabyte


de registros

Límite para ordenar 255 caracteres en uno o más campos

8
Número de niveles de 50
consultas anidadas

Número de caracteres en 1,024


una celda de la cuadrícula
de diseño de consulta

Número de caracteres 255


para un parámetro en una
consulta de parámetros

Número de AND en una 99


cláusula WHERE o
HAVING

Número de caracteres en aproximadamente 64.000


una instrucción SQL

Formulario e informe

Atributo Máximo

Número de caracteres en una etiqueta 2,048

Número de caracteres en un cuadro de texto 65,535

Ancho de formulario o informe 22 pulgadas (55,87


cm)

Alto de sección 22 pulgadas (55,87


cm)

Alto de todas las secciones más los encabezados de 200 pulgadas (508
sección (en la vista Diseño (vista Diseño: ventana que cm)
muestra el diseño de estos objetos de base de datos:
tablas, consultas, formularios, informes, macros y
páginas de acceso a datos. En la vista Diseño, puede
crear objetos de base de datos nuevos y modificar el
diseño de otros existentes.))

Número de niveles de formularios o informes anidados 7

Número de campos o expresiones que se pueden 10


ordenar o agrupar en un informe

Número de encabezados y pies en un informe 1 encabezado/pie de


informe; 1
encabezado/pie de
página; 10
encabezados/pies de
grupo

9
Número de páginas impresas en un informe 65,536

Número de controles y secciones que puede agregar a 754


lo largo de la vida del formulario o del informe

Número de caracteres en una instrucción SQL que 32,750


actúa como la propiedad OrigenDelRegistro
(Recordsource) o OrigenDeLaFila (Rowsource) de un
formulario, informe o control (tanto .mdb como .adp)

Macro

Atributo Máximo

Número de acciones en una macro (macro: acción o conjunto de 999


acciones utilizados para automatizar tareas.)

Número de caracteres en una condición (condición: parte del criterio 255


que debe cumplir un campo cuando se realiza una búsqueda o se
aplica un filtro. Algunas condiciones se deben utilizar con un valor;
por ejemplo, el campo Autor con la condición igual a con el valor
Juan.)

Número de caracteres en un comentario 255

Número de caracteres en un argumento de acción (argumento de 255


acción: información adicional que requieren algunas acciones de
macro, por ejemplo, el objeto al que afecta la acción o condiciones
especiales en las que tiene lugar la acción.)

Base de datos de Microsoft SQL Server


La especificaciones de capacidad máxima de Microsoft SQL Server se encuentran
descritas en la documentación de SQL Server. Para obtener más información acerca
de los manuales en línea de SQL Server, visite el sitio Web de MSDN (sólo disponible
en inglés).
Formulario e informe

Atributo Máximo

Número de caracteres en una etiqueta 2,048

Número de caracteres en un cuadro de texto 65,535

Ancho de formulario o informe 22 pulgadas (55,87


cm)

Alto de sección 22 pulgadas (55,87


cm)

10
Alto de todas las secciones más los encabezados de 200 pulgadas (508
sección (en la vista Diseño (vista Diseño: ventana que cm)
muestra el diseño de estos objetos de base de datos:
tablas, consultas, formularios, informes, macros y
páginas de acceso a datos. En la vista Diseño, puede
crear objetos de base de datos nuevos y modificar el
diseño de otros existentes.))

Número de niveles de formularios o informes anidados 7

Número de campos o expresiones que se pueden 10


ordenar o agrupar en un informe

Número de encabezados y pies en un informe 1 encabezado/pie de


informe; 1
encabezado/pie de
página; 10
encabezados/pies de
grupo

Número de páginas impresas en un informe 65,536

Número de controles y secciones que puede agregar a 754


lo largo de la vida del formulario o del informe

Número de caracteres en una instrucción SQL que 32,750


actúa como la propiedad OrigenDelRegistro
(Recordsource) o OrigenDeLaFila (Rowsource) de un
formulario, informe o control (tanto .mdb como .adp)

Macro

Atributo Máximo

Número de acciones en una macro (macro: acción o conjunto de 999


acciones utilizados para automatizar tareas.)

Número de caracteres en una condición (condición: parte del criterio 255


que debe cumplir un campo cuando se realiza una búsqueda o se
aplica un filtro. Algunas condiciones se deben utilizar con un valor;
por ejemplo, el campo Autor con la condición igual a con el valor
Juan.)

Número de caracteres en un comentario 255

Número de caracteres en un argumento de acción (argumento de 255


acción: información adicional que requieren algunas acciones de
macro, por ejemplo, el objeto al que afecta la acción o condiciones
especiales en las que tiene lugar la acción.)

11

También podría gustarte