You are on page 1of 0

-Pg 1-

P PP P P PP Pr rr r r rr r c cc c c cc ct tt t t tt ti ii i i ii ic cc c c cc ca aa a a aa a A AA A A AA Ac cc c c cc cc cc c c cc ce ee e e ee es ss s s ss ss ss s s ss s: :: : : :: : M MM M M MM Ma aa a a aa ac cc c c cc cr rr r r rr ro oo o o oo os ss s s ss s. .. . . .. .
Ejercicio 1: Concesionario
1 Abre la base de datos Concesionario de la carpeta Mis ejercicios.
2 Crea una Macro que modifique todos los registros de coches con extras aumentando
su precio en 500.000.
1 Posicinate en la ficha Macros de la ventana de la Base de datos y haz clic sobre el botn Nuevo
para crear una nueva Macro.
2 Guarda la Macro desde Archivo Guardar
3 Dale el nombre de SubirPrecio.
Primero desactivaremos el Eco de pantalla para que no se vean las acciones de la Macro.
4 En la primera fila selecciona Eco en la columna Accin.
5 Nos dirijimos a la parte inferior donde encontramos los Argumentos de la accin. All seleccionamos No en
Eco activo.
6 Escribe Realizando cambios... en Texto de la barra de estado.
Ahora abriremos el formulario donde haremos los cambios.
7 En la siguiente fila selecciona en la columna Accin la accin AbrirFormulario.
8 En los Argumentos de accin seleccionamos Mantenimiento Coches vendidos en Nombre del formulario.
9 Modificaremos la opcin Condicin WHERE para que pueda leerse Negado EsNulo([Extras instalados])
para que se cargue el formulario filtrando los registros cuyo campo Extras instalados no sea nulo.
10 Cambia la opcin Vista a Formulario.
11 Cambia la opcin Modo de datos a Modificar.
12 Cambia la opcin Modo de la ventana a Normal.
13 En la siguiente lnea selecciona la Accin EjecutarMacro.
14 En los Argumentos de accin escribe SubirPrecio.repite en la opcin Nombre de macro.
15 En expresin de repeticin escribe Negado EsNulo([Formularios]![Mantenimiento Coches
vendidos]![Matricula]) para que se repita la Macro repite para todos los coches en el formulario (todos tendrn
nmero de matrcula).
Ahora nos desplazaremos unas cuantas lneas para colocar el bucle.
16 Baja unas 5 o 6 lneas y en Accin selecciona EstablecerValor.
17 En los Argumentos de Accin escribe [Formularios]![Mantenimiento Coches vendidos]![Precio] en
Elemento para modificar el Precio del coche.
18 En Expresin escribe [Formularios]![Mantenimiento Coches vendidos]![Precio]+500000 para aumentar
su Precio en 500000.
19 En la siguiente lnea selecciona la Accin IrARegistro.
20 En Argumentos de accin selecciona Formulario en Tipo de objeto.

-Pg 2-
21 En Nombre del objeto selecciona Mantenimiento Coches vendidos.
22 En la opcin Registro selecciona Siguiente.
Ya hemos terminado con el bucle. Modificar el campo Precio y luego pasar al siguiente hasta que no quede
ninguno.
Ahora volveremos de nuevo a la lnea que dejamos despus de EjecutarMacro.
23 En la lnea debajo de EjecutarMacro selecciona la accin Cerrar para cerrar el formulario.
24 En los argumentos de accin selecciona Formulario en Tipo de objeto.
25 En Nombre del objeto selecciona Mantenimiento Coches vendidos.
26 Selecciona S en la opcin Guardar para que se cierre el formulario guardando los cambios.
27 En la siguiente fila selecciona la Accin CuadroMsj.
28 En los argumentos de accin escribe Se han aumentado los precios de los coches con extras. en la
opcin Mensaje.
29 Cambia la opcin Bip a No.
30 Cambia la opcin Tipo a Informacin.
31 En la opcin Ttulo escribe Actualizacin realizada.
Finalmente detendremos la Macro para que no siga ejecutndose.
32 En la siguiente fila aade la accin DetenerMacro.

Si has seguido bien los pasos tu Macro debera parecerse a esta:

33 Cierra la Macro guardando los cambios.


Ejercicio 2: Clnica
1 Abre la base de datos Clinica de la carpeta Mis ejercicios.
2 Crea una Macro que se ejecute cada vez que abras la base de datos.
1 Posicinate en la ficha Macros de la ventana de la Base de datos y haz clic sobre el botn Nuevo

-Pg 3-
para crear una nueva Macro.
2 Guarda la Macro desde Archivo Guardar
3 Dale el nombre de AutoExec para que se ejecute cada vez que abras la base de datos.

3 La Macro deber ver si existen pacientes sin ingreso. En caso afirmativo deber
ejecutar las consultas Crear Pacientes no Ingresados y Eliminar no ingresados que
creamos en unidades anteriores para que se guarden estos pacientes en la tabla
Pacientes no ingresados y se eliminen de la tabla Pacientes.
Para conseguir el objetivo de este apartado antes deberemos crear una consulta que utilizaremos para ver si
existen o no pacientes sin nmero de ingreso.
1 Posicinate en la ficha Consultas de la ventana Base de datos de la base de datos Clinica.
2 Haz clic en Crear una consulta en vista Diseo para crear una nueva consulta.
3 Selecciona la tabla Ingresos y pulsa Agregar.
4 Selecciona la tabla Pacientes y pulsa Agregar.
5 Haz clic en el botn Cerrar para empezara generar la consulta.
6 Ahora haz doble clic sobre la lnea de relacin existente entre las dos tablas para acceder a sus propiedades.
7 Selecciona la opcin Incluir TODOS los registros de 'Pacientes' y slo aquellos registros de 'Ingresos'
donde los campos combinados sean iguales y pulsa Aceptar.
8 Haz doble clic sobre Cdigo Paciente para aadirlo la consulta.
9 Haz doble clic sobre Ningreso para aadirla a la consulta.
10 En Ningreso escribe Es Nulo en la fila Criterios:.
11 Desactiva la casilla Mostrar: para el campo Ningresos.
El resultado ser un listado de nmeros de Cdigos de Paciente que no tienen ingresos.
12 Guarda la consulta como Pacientes sin Ingreso y cierrala.
Ahora crearemos la Macro que necesitamos.
13 Ves a la pestaa de Macros en la ventana de la base de datos y haz clic sobre ella.
14 Selecciona la Macro AutoExec que creamos en el apartado anterior y haz clic en Diseo para
poder modificarla.
15 Activaremos la opcin de Condiciones haciendo clic en el botn Condiciones en la barra de Diseo
de Macros.
16 En la primera fila escribiremos en la columna Condicin lo siguiente: DCont("*";"Pacientes sin
Ingreso")>0. Esto evaluar si el nmero de registros en la consulta Pacientes sin Ingreso es mayor que 0. En
caso afirmativo ejecutaremos las acciones que nos piden.
17 En la primera fila seleccionaremos la accin AbrirConsulta.
18 En los argumentos de la accin seleccionaremos Crear Pacientes no ingresados en Nombre de la
consulta.

-Pg 4-
19 En la siguiente lnea selecciona de nuevo otra accin AbrirConsulta.
20 En los argumentos de la accin seleccionaremos Eliminar no ingresados en Nombre de la consulta.
21 Finalmente seleccionaremos la accin CuadroMsj en la ltima fila.
22 En argumentos de la accin escribe @Existen pacientes sin ingreso@Se han transladado a la tabla
'Pacientes no ingresados'@ en la opcin Mensaje.
23 Cambia la opcin Bip a No.
24 Cambia la opcin Tipo a Aviso: !.
25 Escribe Pacientes sin Ingreso en la opcin Ttulo.
26 Ahora viene la parte ms importante, debers aadir puntos suspensivos en la columna de Condicin
para todas las acciones que hemos escrito, de esta forma slo se ejecutarn si se cumple la condicin que
escribimos en la primera lnea para la primera accin.
Una vez lo tengas habrs acabado.

Si has seguido bien los pasos tu Macro debera parecerse a esta:

27 Cierra la Macro guardando los cambios.

4 Si se ejecutan la consultas, es decir, si existen pacientes sin ingreso, debers mostrar
un mensaje al usuario indicndolo.