Ejercicio paso a paso. Creación de Macros Complejas |
Objetivo. |
Practicar la creación de Macros complejas.
|
Abrir la base de datos Clases.accdb que se encuentra en la carpeta Mis ejercicios.
Vamos a crear una Macro que modifique todos los registros que contengan el valor Internet en su campo Nombre Curso. 1 Haz clic en Macro en la pestaña Crear para crear una nueva Macro. 2 Guarda la Macro desde Botón de Office → Guardar y dale el nombre de CambiarTodos. Primero desactivaremos el Eco de pantalla para que no se vean las acciones de la Macro. 3 En la primera fila selecciona Eco en la columna Acción. 4 Nos dirijimos a la parte inferior donde encontramos los Argumentos de la acción. Allí seleccionamos No en Eco activo. 5 Escribe Realizando cambios... en Texto de la barra de estado. Ahora abriremos el formulario donde deberemos hacer los cambios. 6 En la siguiente fila selecciona en la columna Acción la acción AbrirFormulario. 7 En los Argumentos de acción seleccionamos Cursos tabular en Nombre del formulario. 8 El resto de opciones las dejamos como están: Vista Formulario, Modo de datos Modificar y Modo de la ventana Normal. Ahora buscaremos el registro en nuestro formulario. 9 En la siguiente fila selecciona la acción BuscarRegistro. 10 En los Argumentos de accción escribe Internet en el campo Buscar. 11 Cambia Coincidir mayúsculas y minúsculas a No. 12 Cambia Buscar en a Todo. 13 Cambia Buscar con formato a No. 14 Cambia Sólo el campo activo a No. 15 Selecciona Sí en Buscar primero. Una vez encontrado el registro pasaremos a modificarlo. Pero ahora es cuando viene la parte difícil. Crearemos un bucle que repita todo el proceso de cambio para cada uno de los registro que contengan la palabra Internet. 16 En la siguiente fila selecciona la acción EjecutarMacro. 17 En los Argumentos de acción escribiremos CambiarTodos.repite en el campo Nombre de macro. 18 En Expresión de repetición escribe [Formularios]![Cursos tabular]![Nombre Curso]="Internet". ¿Qué hemos hecho?, muy fácil. Le estamos diciendo a Access que repita determinado bloque de acciones mientras en el formulario Cursos tabular el campo Nombre Curso contenga el valor Internet. En el momento en el que deje de haberlo, el bloque CambiarTodos.repite dejará de repetirse. El siguiente paso que haremos será crear el bloque repite que cambiará los valores del campo Nombre Curso. 19 Avanzamos unas 6 o 7 filas que dejaremos en blanco para colocar el bloque repite. Haz clic sobre el botón Nombres de macro en la pestaña Diseño. 20 En la fila en la que nos hemos situado escribimos repite bajo la columna Nombre de macro. Hemos creado el señalizador que indica el sitio a donde tiene que ir la acción EjecutarMacro que insertamos anteriormente. 21 Ahora selecciona la acción EstablecerValor. 22 En los Argumentos de acción escribe [Formularios]![Cursos tabular]![Nombre Curso] en la opción Elemento. 23 En Expresión escribe "Diseño Web" (con comillas). Esto cambiará el valor del campo. 24 En la siguiente fila selecciona en la columna acción BuscarSiguiente. Hemos hecho que el bucle cambie el valor y se posicione en el siguiente registro que contenga el valor Internet. ¿Qué pasará entonces con el bucle de EjecutarMacro? Cuando la acción BuscarSiguiente no encuentre más registros que cumplan los criterios especificados en BuscarRegistro, se posicionará en el primer registro (que obviamente no contendrá Internet). La acción EjecutarMacro analizará el campo Nombre Curso y al no encontrar el valor Internet no ejecutará nuestro bloque y pasará a la siguiente acción. A continuación seguiremos introduciendo filas bajo la acción EjecutarMacro que dejamos antes. 25 En la fila que se encuentra debajo de la acción EjecutarMacro introduciremos la acción Cerrar. 26 En los Argumentos de acción seleccionaremos Formulario en la opción Tipo de objeto. 27 En Nombre de objeto selecciona Cursos tabular. 28 En Guardar seleccionar Sí para cerrar guardando los cambios. Ahora mostraremos un cuadro de mensaje para decirle al usuario que hemos terminado la tarea. 29 En la fila siguiente selecciona la acción CuadroMsj. 30 En los Argumentos de acción escribe Se han modificado todos los registros que contenian 'Internet' en el formulario 'Cursos tabular'. en la opción Mensaje. 31 Cambia la opción Bip a Sí. 32 Cambia la opción Tipo a Información. 33 En la opción Título escribe Registros actualizados. 34 Finalmente añadiremos una Acción de DetenerMacro para que la Macro no siga ejecutándose realizando las acciones que colocamos en el bloque repite.
Aquí podrás ver una imagen que muestra cómo deberá haber quedado tu macro después del ejercicio:
35 Guarda la Macro. 36 Ejecuta la macro pulsando el botón Ejecutar Puedes probar a poner varios nombres de curso como Internet para comprobar que los cambia todos, pero cuando acabes, vuelve a poner los valores que había al principio.
|
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.