Introducción a la programación de Access

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cuando se crea una nueva base de datos, normalmente comenzará mediante la creación de varios objetos de base de datos como tablas, formularios e informes. Finalmente, llegar a un punto donde tiene que agregar algunos programación para automatizar determinados procesos y vincular los objetos de base de datos. Este artículo le ayudará a orientar según las herramientas de programación en Access 2010.

Nota: Puede agregar Visual Basic para aplicaciones (VBA) a una base de datos Web; Sin embargo, no puede ejecutar código mientras se ejecuta la base de datos en un explorador Web. Si la base de datos Web contiene código VBA, primero debe abrir la base de datos Web mediante Access antes de ejecutar el código. Para realizar tareas de programación de una base de datos, utilice las macros de Access.

Para obtener más información sobre las bases de datos web, vea el artículo Crear una base de datos de Access para compartirla en la web.

En este artículo

¿Qué es la programación?

¿Debo usar macros o debo usar código VBA?

Usar al Asistente para botones de comando para realizar tareas comunes de programación

Comprender las macros

Comprender el código VBA

Convertir macros a código VBA

Aprenda a usar el sistema de ayuda

Qué es la programación

En Access, programación es el proceso de agregar funcionalidad a la base de datos usando las macros de Access o Visual Basic para aplicaciones (VBA). Por ejemplo, suponga que ha creado un formulario y un informe y desea agregar un botón de comando al formulario, al hacer clic, se abre el informe. En este caso, la programación, es el proceso de creación de una macro o un procedimiento de VBA y, a continuación, configuración del botón de comando OnClickpropiedad de evento para que haga clic en el botón de comando ejecuta la macro o procedimiento. Para una operación sencilla, como abrir un informe, puede usar el Asistente para botones de comando para hacer todo el trabajo, o puede activar, desactivar el asistente y realice la programación usted mismo.

Nota: Muchos de los programas de Microsoft Office utilizan el término "macro" para hacer referencia a código de VBA. Esto puede resultar confuso para los usuarios de Access porque en Access, el término "macro" hace referencia a una colección de acciones de macro que puede ensamblar con el generador de macros. Acciones de macro de Access representan únicamente un subconjunto de los comandos disponibles en VBA. El generador de macros ofrece una interfaz más estructurada que el Editor de Visual Basic, lo que le permite agregar programación a los controles y objetos sin necesidad de obtener el código VBA. Recuerde que en los artículos de Ayuda de Access, las macros de Access se conocen como macros. Por el contrario, código VBA se conoce como VBA, código, una función o un procedimiento. Código VBA se incluye en los módulos de clase (que forman parte de los formularios individuales o informes y normalmente contienen código únicamente para los objetos) y en módulos (que no están vinculados a objetos específicos y normalmente contienen código "global" que se pueden usar en toda la base de datos).

Objetos (por ejemplo, formularios e informes) y controles (como botones de comando y cuadros de texto) tienen varias propiedades de evento al que puede adjuntar macros o procedimientos. Cada propiedad de evento está asociado 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 activarse eventos por factores fuera de Access, como los eventos del sistema, o macros o los procedimientos que se han adjuntado a otros eventos. La base de datos puede llegar compleja si agrega muchas macros o procedimientos a varias propiedades de evento de muchos objetos, pero en la mayoría de los casos, puede lograr los resultados que desee mediante programación muy poco.

Volver al principio

¿Se deben utilizar macros o código de VBA?

La decisión de utilizar macros, VBA o ambos depende principalmente en cómo va a implementar o distribuir la base de datos. Por ejemplo, si la base de datos se almacena en su equipo y es el único usuario y si se siente cómodo con el código de VBA, puede utilizar VBA para realizar la mayoría de las tareas de programación. Sin embargo, si desea compartir la base de datos con otras personas mediante la ubicación en un servidor de archivos, que desee evitar el uso de VBA consideraciones de seguridad. Si desea publicar la base de datos como una aplicación Web de Access, debe usar macros en lugar de VBA para realizar tareas de programación, porque no es compatible con la característica de publicación de Web VBA.

Aplicaciones Web de Access    Aplicaciones de Access Web son una nueva característica de Access 2010 con la que puede publicar una aplicación a un servidor de Microsoft SharePoint que se está ejecutando los servicios de Access. Esto permite a otras personas a usar la base de datos a través de un explorador de Internet estándar, en lugar de tener Access instalado en sus equipos. Sin embargo, porque el código de VBA no es compatible con la característica de publicación de Web, si tiene previsto publicar su aplicación como una aplicación Web de Access, debe usar solo macros para realizar tareas de programación.

Al diseñar nuevas aplicaciones Web de Access, debe empezar haciendo clic en Base de datos Web en blanco al iniciar Access por primera vez. Esto limita las características que puede usar para crear la base de datos, lo que ayuda a garantizar que la Web application publicarán correctamente.

Aplicaciones cliente    Si no tiene previsto publicar su aplicación en un servidor de servicios de Access, debe basar la decisión de utilizar macros o código VBA en dos cuestiones: seguridad y la funcionalidad que desee. La seguridad es un problema porque VBA puede utilizarse para crear código que comprometa la seguridad de los datos o que se dañen los archivos en su equipo. Cuando se utiliza una base de datos creado por una persona que no sea usted, debe habilitar el código VBA solo si conoce que la base de datos procede de un origen de confianza. Cuando se crea una base de datos que va a utilizar otras personas, debe intentar evitar incluidos herramientas que requieren que el usuario específicamente conceder el estado de confianza para la base de datos de programación. Generales técnicas para evitar la necesidad de los usuarios que confíe en la base de datos se incluyen más adelante en esta sección.

Para garantizar la seguridad de la base de datos, debe intentar utilizar macros cuando puede y utilizar la programación de VBA solo para las operaciones que no se puede realizar mediante el uso de acciones de macro. Además, debe intentar usar acciones de macro que no requieren otorgar el estado de confianza para la base de datos para poder ejecutar. Limitar el uso de acciones de macro de este modo permite a los usuarios para estar seguro de que la base de datos no tiene ninguna programación que se dañen los datos u otros archivos en sus equipos.

Consideraciones de macro

Access 2010 contiene muchos nuevas acciones de macro que le permite crear macros más eficaces que se pueden generar con versiones anteriores de Access. Por ejemplo, ahora puede crear y usar variables temporales globales mediante acciones de macro y puede controlar los errores más correctamente mediante el uso de nuevas acciones de macro de control de errores. En versiones anteriores de Access, estos tipos de características están disponibles mediante VBA. Además, puede incrustar una macro directamente en la propiedad de evento de un objeto o control. Una macro incrustada se convierte en una parte de un control o el objeto y permanecerá con el objeto o control si se mueve o se copia.

Las macros proporcionan una forma sencilla de controlar muchas tareas de programación, como abrir y cerrar formularios y elaboración de informes. Se pueden rápida y fácilmente unir los objetos de base de datos (formularios, informes etc.) que haya creado porque no hay mucha sintaxis que debe recordar. Los argumentos de cada acción se muestran en el generador de macros.

Además de la mayor seguridad y facilidad de uso que proporcionan macros, debe utilizar macros para realizar las siguientes tareas:

  • Asignar una acción o un conjunto de acciones a una tecla. Esto requiere la creación de un grupo de macros denominado AutoKeys.

  • Realizar una acción o una serie de acciones cuando se abre una base de datos por primera vez. Esto requiere la creación de una macro denominada AutoExec.

    Nota: La macro AutoExec se ejecuta antes de cualquier otro macros o código VBA, incluso si tiene designe un formulario de inicio en el cuadro de diálogo Opciones de Access y adjunta una macro o código VBA al evento de OnOpen o OnLoad del formulario.

Para obtener más información sobre cómo crear macros, vea la sección comprender macros.

Consideraciones de VBA

Debe utilizar programación de VBA en lugar de macros si desea realizar una de las acciones siguientes:

  • Use las funciones integradas, o crear sus propias funciones    Access incluye muchas funciones integradas, como la función interés , que calcula el pago de intereses. Puede usar estas funciones integradas para realizar cálculos sin necesidad de crear expresiones complicadas. Usando código VBA, también puede crear sus propias funciones para realizar cálculos que superen la capacidad de una expresión o reemplacen 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, encontrará que resulta más fácil crear y modificar un objeto en la vista de diseño del objeto. Sin embargo, en algunos casos, que podría querer manipular la definición de un objeto en código. Mediante VBA, puede manipular todos los objetos de una base de datos, además de la base de datos.

  • Realizar acciones de nivel del sistema    Puede realizar la acción EjecutarAplicación en una macro para ejecutar otro programa (por ejemplo, Microsoft Excel) desde Access, pero no puede usar una macro para hacer mucho más fuera de Access. Con VBA, puede comprobar si existe un archivo en el equipo, use la automatización o intercambio dinámico de datos (DDE) para comunicarse con otros programas de basado en Windows de Microsoft, como Excel y llamar a funciones en bibliotecas de vínculos dinámicos (DLL) de Windows.

  • Manipular registros uno a uno    Puede usar VBA para desplazarse por un conjunto de registros, un registro a la vez y realizar una operación en cada registro. En cambio, macros trabajan con conjuntos de registros completos a la vez.

Volver al principio

Usar el Asistente para botones de comando para realizar tareas comunes de programación

Si va a agregar un botón de comando a un formulario, el Asistente para botones de comando puede ayudarle a empezar con la programación. El asistente le ayuda a crear un botón de comando que realiza una tarea específica. En un archivo de Access 2010 (.accdb), el asistente crea una macro que está incrustada en la propiedad OnClick del botón de comando. En un archivo .mdb o .adp, el asistente crea código VBA, porque las macros incrustadas no están disponibles en esos formatos de archivo. En cualquier caso, a continuación, puede modificar o mejorar la macro o el código de VBA que se ajuste mejor a sus necesidades.

  1. En el Panel de exploración, haga clic con el botón secundario en el formulario al que desea agregar el botón de comando y, a continuación, haga clic en Vista Diseño.

  2. En la ficha Diseño, haga clic en la flecha abajo para mostrar la galería controles y, a continuación, asegúrese de que Utilizar asistentes para controles está seleccionada.

  3. En la ficha Diseño, en la galería controles, haga clic en el botón.

  4. En la cuadrícula de diseño del formulario, haga clic en el lugar donde desee colocar el botón de comando.

    Se inicia el Asistente para botones de comando.

  5. En la primera página del asistente, haga clic en cada categoría de la lista Categorías para ver qué acciones puede programar el asistente para que las realice el botón de comando. En la lista Acciones, seleccione la acción que desee y, a continuación, haga clic en Siguiente.

  6. Haga clic en la opción de texto o la opción de imagen, dependiendo de si desea que texto o una imagen para que se muestre en el botón de comando.

    • Si desea que se muestre texto, puede editarlo en el cuadro situado junto a la opción Texto.

    • Si desea que una imagen para que se muestre, el Asistente sugiere una imagen en la lista. Si desea seleccionar otra imagen, seleccione la casilla de verificación Mostrar todas las imágenes para mostrar una lista de todas las imágenes de botón de comando que proporciona Access o haga clic en Examinar para seleccionar una imagen que se almacena en otro lugar.

      Haga clic en Siguiente.

  7. Especifique un nombre significativo para el botón de comando. Este paso es opcional y este nombre no se muestra en el botón de comando. Sin embargo, conviene especificar un nombre significativo para que, cuando tenga que hacer referencia al botón de comando más adelante (por ejemplo, si establece el orden de tabulación de los controles en el formulario), sea mucho más fácil diferenciar entre los botones de comando. Si, por ejemplo, el botón de comando cierra el formulario, puede asignarle el nombre cmdClose o CommandClose.

  8. Haga clic en Finalizar.

    Access coloca el botón de comando en el formulario.

  9. Si desea ver lo que el asistente "programa" por usted, siga estos pasos opcionales:

    1. Si no se muestra la hoja de propiedades, presione F4.

    2. Haga clic en la ficha Evento de la hoja de propiedades.

    3. En el cuadro de propiedad En haga clic en, haga clic en el botón Generar, Imagen de botón .

      Access inicia el generador de macros y muestra la macro que creó el asistente. Puede modificar la macro, si lo desea (para obtener más información acerca de cómo modificar una macro, vea la sección comprender macros). Cuando haya terminado, en la ficha Diseño, en el grupo Cerrar, haga clic en Cerrar para cerrar el generador de macros. Si Access le pregunta si desea guardar los cambios y actualizar la propiedad, haga clic en para guardar los cambios o en No para rechazar los cambios.

  10. En la ficha Diseño, en el grupo Vistas, haga clic en Ver y, a continuación, en Vista Formulario. Haga clic en el nuevo botón de comando para comprobar que funciona como esperaba.

Volver al principio

Explicación de las macros

Una macro 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, asociar propiedad de evento OnClick del botón a una macro que contiene los comandos que desea que realice cada vez que se hace clic en el botón.

Resulta útil considerar las macros de Access como un lenguaje de programación simplificado en el que puede crear código creando una lista de acciones a realizar. Cuando se crea una macro, seleccione cada acción de una lista desplegable y, a continuación, rellene la información necesaria para cada acción. Las macros 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 la mayoría de las personas más fácil generar una macro que to escribir el código VBA.

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

Generador de macros de Access 2010

Para que se muestre el Generador de macros:

  • En la ficha Crear, en el grupo Macros y código, haga clic en Macro.

Volver al principio

Comprender el código de VBA

Como las macros, VBA le permite agregar automatización y otras funciones a la aplicación de Access. Puede extender VBA mediante controles de terceros y puede escribir sus propias funciones y procedimientos de sus necesidades.

Nota: Puede agregar Visual Basic para aplicaciones (VBA) a una base de datos Web; Sin embargo, no puede ejecutar código mientras se ejecuta la base de datos en un explorador Web. Si la base de datos Web contiene código VBA, primero debe abrir la base de datos Web mediante Access antes de ejecutar el código. Para realizar tareas de programación de una base de datos, utilice las macros de Access.

Para obtener más información sobre las bases de datos web, vea el artículo Crear una base de datos de Access para compartirla en la web.

Una forma rápida de empezar con VBA programación es primero, cree una macro de Access y convertirla en código VBA. Instrucciones para hacerlo se incluyen en la sección convertir macros a código de VBA. Esta característica crea un nuevo módulo VBA que realiza las operaciones equivalentes en la macro. También se abre el Editor de Visual Basic de modo que puede comenzar a modificar el procedimiento. Cuando se trabaja en el Editor de Visual Basic, puede haga clic en palabras clave y presione F1 para iniciar la ayuda para desarrolladores de acceso y obtener más información sobre cada palabra clave. A continuación, puede explorar la ayuda para desarrolladores de Access y descubrir nuevos comandos para llevar a cabo las tareas de programación que desee.

Volver al principio

Convertir macros a código de VBA

Puede usar Access 2010 para convertir automáticamente macros en módulos VBA o módulos de clase. Puede convertir macros que se han adjuntado a un formulario o informe, si existen como objetos independientes o como macros incrustadas. También puede convertir macros generales que no se han adjuntado a un formulario o informe determinado.

Nota: Puede agregar Visual Basic para aplicaciones (VBA) a una base de datos Web; Sin embargo, no puede ejecutar código mientras se ejecuta la base de datos en un explorador Web. Si la base de datos Web contiene código VBA, primero debe abrir la base de datos Web mediante Access antes de ejecutar el código. Para realizar tareas de programación de una base de datos, utilice las macros de Access.

Para obtener más información sobre las bases de datos web, vea el artículo Crear una base de datos de Access para compartirla en la web.

Convertir macros que están adjuntas a un formulario o informe

Este proceso convierte en VBA las macros que se hace referencia (o incrustadas en) un formulario o informe (o cualquiera de los controles) y agrega el código VBA para el formulario o módulo de clase del informe. El módulo de clase se convierte en parte del formulario o informe y se mueve con el formulario o informe si se mueve o se copia.

  1. En el panel de navegación, haga clic en el formulario o informe y, a continuación, haga clic en vista Diseño.

  2. En la ficha Diseño, en el grupo Herramientas, haga clic en del formulario convertir Macros a Visual Basic o del informe convertir Macros a Visual Basic.

  3. En el cuadro de diálogo convertir macros del formulario o convertir macros del informe, seleccione si desea que Access para agregar código a las funciones genera de control de errores. Además, si tiene los comentarios en las macros, seleccione si desea tener incluirlos como comentarios en las funciones. Haga clic en convertir para continuar.

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

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

    1. Estando abierto todavía el formulario o informe en la Vista Diseño, si no se muestra la hoja de propiedades, presione F4 para que aparezca.

    2. En la ficha evento de la hoja de propiedades, haga clic en cualquier cuadro de propiedades que muestra [Procedimiento de evento] y, a continuación, haga clic en el botón de compilación Imagen de botón . Para ver las propiedades de evento para un control específico, haga clic en el control para seleccionarlo. Para ver las propiedades de evento de todo el formulario o informe, seleccione el formulario o informe en la lista desplegable 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 los demás procedimientos que están en el mismo módulo de clase.

Convertir macros globales

  1. En el panel de navegación, haga clic en la macro que desea convertir y, a continuación, haga clic en Vista Diseño.

  2. En la ficha Diseño, en el grupo Herramientas, haga clic en convertir Macros a Visual Basic.

  3. En el cuadro de diálogo Convertir macro, seleccione las opciones que desee y, a continuación, haga clic en Convertir.

    Access convierte la macro y abre el Editor de Visual Basic.

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

    1. En el Editor de Visual Basic, si no se muestra el panel Explorador de proyectos, en el menú Ver, haga clic en Explorador de proyectos.

    2. Expanda el árbol correspondiente al nombre de la base de datos en la que está trabajando.

    3. En los módulos, haga doble clic en el nombre del módulo Macro-convertir macro.

      El Editor de Visual Basic abre el módulo.

Adjuntar una función de VBA a una propiedad de evento

Al convertir una macro global en VBA, el código de VBA se coloca en un módulo estándar. A diferencia de un módulo de clase, un módulo estándar no forma parte de un formulario o informe. Más probable es que se desea asociar a la función de una propiedad de evento en un formulario, informe o control de modo que el código ejecuta exactamente cuando y donde desee. Para ello, puede copiar el código VBA en un módulo de clase y, a continuación, asociar una propiedad de evento, o puede realizar una llamada especial de la propiedad de evento al módulo estándar mediante el procedimiento siguiente.

  1. En el Editor de Visual Basic, anote el nombre de función. Por ejemplo, si ha convertido una macro denominada MyMacro, el nombre de función puede ser MyMacro().

  2. Cierre el Editor de Visual Basic.

  3. En el Panel de exploración, haga clic con el botón secundario en el formulario o informe al que desea asociar la función y, a continuación, haga clic en Vista Diseño.

  4. Haga clic en el control o sección al que desee asociar la función.

  5. Si no se muestra la hoja de propiedades, presione F4.

  6. En la ficha Evento de la hoja de propiedades, haga clic en el cuadro de propiedad de evento al que desee que se asocie la función.

  7. En el cuadro de propiedad, escriba un signo de igual (=) seguido del nombre de la función, por ejemplo, =MyMacro(). Asegúrese de incluir los paréntesis.

  8. Guarde el formulario o informe haciendo clic en Guardar en la barra de herramientas de acceso rápido.

  9. En el Panel de exploración, haga doble clic en el formulario o informe, y compruebe si el código se ejecuta como debe ser.

Ahora que sabe los pasos básicos para agregar código VBA a la base de datos. Este artículo describen sólo los conceptos básicos de cómo empezar a trabajar; Hay muchos libros de referencia excelente y recursos en línea que pueden ayudarle a crear sus conocimientos de programación.

Volver al principio

Aprender a utilizar el sistema de Ayuda

Access 2010 ofrece muchas formas para obtener asistencia con su programación. Puede obtener ayuda en cualquier momento haciendo clic en el botón Ayuda en la esquina superior derecha de la ventana de Access.

El botón Ayuda

Access muestra la ventana Ayuda.

Además, cuando esté creando una macro o un procedimiento de VBA, puede hacer clic en una acción de macro, una palabra clave o un nombre de función integrada y presionar F1. En la mayoría de los casos, Access muestra el tema de la Ayuda correspondiente al elemento en el que ha hecho clic.

Una vez abierta la ventana Ayuda, use los botones de exploración de la barra de herramientas para moverse entre páginas.

Barras de herramientas del visor de la Ayuda

Por ejemplo, haga clic en Inicio para ver la tabla de contenido y, a continuación, haga clic en la Atrás, adelante, Detener o botón Actualizar para desplazarse entre los temas o volver a cargar un tema. También puede buscar el sistema de ayuda para obtener información específica, escriba los términos de búsqueda en el cuadro en la barra de herramientas y, a continuación, presionando ENTRAR o haciendo clic en Buscar.

Si busca información sobre programación, suele ser útil examinar la Ayuda para programadores de Access además de la Ayuda de Access.

Cambiar a Ayuda para programadores de Access

  1. Haga clic en la flecha desplegable situada junto al botón Buscar.

    Botón Buscar en la Ayuda

    La ventana de Ayuda muestra una lista de temas de ayuda disponibles que puede examinar.

    Lista de búsqueda de la Ayuda

  2. Si está conectado a Internet, en contenido de Office.com, haga clic en Referencia del programador. Se recomienda usar este método, porque el contenido de Office.com siempre es más actualizada. Si no está conectado a Internet, o si el administrador del sistema ha deshabilitado la capacidad de la ventana de ayuda para conectarse, puede ver aún ayuda para desarrolladores de Access, haga clic en Referencia del programador, en contenido de este equipo.

  3. Puede examinar la Ayuda utilizando los vínculos de la tabla de contenido o escribiendo términos de búsqueda en el cuadro situado debajo de la barra de herramientas y presionando ENTRAR.

  4. Para volver a la Ayuda de Access, haga clic en la flecha desplegable junto al botón Buscar y, a continuación, haga clic en Ayuda de Access en el contenido de Office.com, o contenido de este equipo.

Para obtener más información sobre el uso de la Ayuda con o sin conexión, haga clic en el menú Estado de conexión situado en la esquina inferior derecha de la ventana Ayuda y, a continuación, haga clic en Explicar estas opciones.

Mensaje de Estado de conexión en el visor de la Ayuda

Volver al principio

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

¿Le ha sido útil esta información?

De acuerdo. ¿Algún comentario más?

¿Cómo podemos mejorarlo?

¡Gracias por sus comentarios!

×