Unidad 14. Ejercicio paso a paso: Macros con condiciones avanzadas


Objetivo

Practicar la creación de Macros con condiciones avanzadas.

Ejercicio paso a paso

Abrir la base de datos Clases.accdb que se encuentra en la carpeta Mis ejercicios.

Vamos a partir de la macro creada en el anterior ejercicio de esta unidad para después cambiarlo desde la ventana Diseño de Macros.

  1. En el Panel de navegación, haz clic con el botón derecho del ratón sobre la macro Cambiar2 y elige Copiar.
  2. Ahora, en el mismo panel, muestra de nuevo el menú contextual y pulsa Pegar.
  3. Cuando te pregunte qué nombre darle a la copia, escribe Cambiar3 y acepta.
  4. Abre en Vista Diseño la nueva macro Cambiar3.

Ahora vamos modificar un poco la macro.
Vamos a hacer más estricta la condición, además de que el campo Nombre Curso sea Internet también exigiremos que el nºhoras sea menor que 30.
Además haremos que se muestre un cuadro de mensaje que nos indique el resultado de la operación.

  1. Edita la acción BuscarRegistro, cambiando su argumento Buscar a Internet.
  2. Ahora modificaremos la condición (caja de texto Si) que dice [Formularios]![Cursos tabular]![Nombre Curso]="Papiroflexia" para que pueda leerse [Formularios]![Cursos tabular]![Nombre Curso]="Internet" Y [Formularios]![Cursos tabular]![Nºhoras]<30.
  3. Arrastramos la acción CerrarVentana que hay a continuación de la condición a su interior, justo bajo la acción EstablecerValor, sobre el cuadro Agregar nueva acción.
  4. Luego, pulsamos Agregar nueva acción para incluir la acción CuadroDeMensaje.
  5. En el argumento Mensaje escribe El campo 'Nombre Curso' se ha actualizado correctamente..
  6. Cambia la opción Bip a No.
  7. Cambia la opción Tipo a Aviso: !.
  8. En la opción Título escribe Actualización realizada.
  9. Agrega una nueva acción a continuación, esta vez DetenerMacro. No tiene parámetros.

Nos queda establecer las acciones que se realizarán si la condición no se cumple, para ello:

  1. Pulsa el enlace Agregar Si no.
  2. En caso de que no se cumpla la condición, como no cambiaremos nada, cerraremos la ventana sin guardar los cambios. Para ahorrarnos trabajo, haz clic con el botón derecho sobre la acción CerrarVentana del panel Si y selecciona Copiar.
  3. Luego, en el panel Si no, pulsa con el botón derecho y elige Pegar.
  4. Nos queda modificar el parámetro Guardar a No.
  5. Ahora, pulsa Agregar nueva acción, también en el panel Si no, y elige CuadroDeMensaje.
  6. En el argumento Mensaje escribe No se ha modificado ningún campo.@Ningún registro cumplía los criterios establecidos.@
  7. Cambia la opción Bip a No.
  8. Cambia la opción Tipo a Crítico.
  9. En la opción Título escribe Error.
  10. Por último, arrastra la acción Eco del final dentro del panel Si no, justo después del mensaje que acabas de introducir.
    Esto lo haremos porque el Eco no será necesario volverlo a activar si la condición se cumple, ya que la acción DetenerMacro restablecerá el Eco a su estado activo.

Hemos acabado, después de la condición, si es falsa, la macro cerrará el formulario sin guardarlo y avisará al usuario.
Aquí tienes una imagen de cómo debería quedar la macro después de estos cambios:

Nota: Hemos contraído las acciones y añadido unos comentarios para que sea más legible.

  1. Guarda la macro y ejecútala sólo una vez.
    Aparece el mensaje de error que has creado indicando que no se han producido cambios.
  2. Abre la tabla Cursos para comprobar y cambia el nombre del curso Diseño web, que pusimos en ejercicios anteriores, y vuelve a poner Internet. Fíjate en las horas del curso.
  3. Cierra la tabla y vuelve a ejecutar la macro.
    Aunque ha encontrado el curso de Internet, aparece el mensaje de error, porque no tiene menos de 30 horas.

Ahora, vamos a modifcar la Macro para que lo cambie si el número de horas es menor a 400.

  1. Modifica la condición de la primera acción EstablecerValor, y escribe [Formularios]![Cursos tabular]![Nombre Curso]="Internet" Y [Formularios]![Cursos tabular]![Nºhoras]<400
  2. Guarda los cambios.
  3. Cierra la tabla y vuelve a ejecutar la macro.
  4. Si abre la tabla Cursos, comprobarás que el nombre del curso Internet ha cambiado a Diseño Web.
  5. Cierra la base de datos.

Octubre-2010

   Inicio    




Curso de Access 2013
.