lunes, 13 de septiembre de 2010

EJERCICIOS DE MACROS II

1º. A partir de la base de datos zoo.mdb crear un informe a partir de la tabla CUIDADORES y otro a partir de la tabla ANIMALES. Crear a continuación un formulario como el que se indica:
Dependiendo de la opción que se elija, se abrirá un informe u otro.

2º. Crear un formulario como el siguiente:


                En este formulario deberemos realizar la suma de dos números que se encontrarán en dos campos (operando1 y operando2) El resultado de la suma se visualizará en el campo Resultado cuando se pulse sobre el botón “Realizar suma”. El formato de cada campo debe ser número general.


3º. Añadir al ejercicio anterior las siguientes comprobaciones al pulsar sobre el botón Realizar suma:
                Si el primer campo está vacío (operando1) se debe mostrar el mensaje “Debe introducir el primer operando” y deterse la macro.
                Si no se puso ningún valor en el segund campo (operando2) se debe mostrar el mensaje “Debe introducirse el segundo operando” y se detendrá la macro.

4º. Utilizando la base de datos EMPRESA, construir un formulario como el siguiente:




                En dicho formulario se introducirá un salario, y al pulsar sobre el botón “Abrir informe”, se mostrará un informe con los empleados que tengan un salario mayor que la cantidad introducida en el cuadro de texto del formulario.

5º. Realizar una modificación en la macro del ejercicio anterior para que en el caso de que se introduzca una cantidad negativa en el salario se muestre un cuadro de mensaje con el texto “El salario introducido no puede ser negativo”.

6º. A partir de la base de datos mundo.mdb, crear un formulario como el que se muestra a continuación. En dicho formulario aparecen dos campos combinados y un botón de comando. El primer cuadro combinado mostrará una lista de todos los continentes de la tabla PAÍSES. Cuando se elija un continente de la lista, se visualizará un informe con los datos de los países del continente elegido. El segundo cuadro combinado mostrará una lista de todas las lenguas de la tabla PAÍSES. El elegir un valor de la lista, se mostrará un informe con los datos de los países en los que se habla la lengua elegida.  El botón de comando mostrará un informe con los datos de los países del continente y lengua elegidos en los dos cuadros combinados.


7º. En el siguiente formulario introduciremos una edad y el precio de entrada a un acontecimiento. El iva aplicable al precio de entrada variará dependiendo de la edad introducida:
                Si la edad es menor de 18 años el IVA aplicable es del 16%
                Si la edad está entre 18 y 65 años el IVA será del 20%
                Si la edad introducida es mayor de 65 años el IVA aplicable será del 25%


8º. Añadir un campo de texto con el nombre pesetas y otro campo de texto con el nombre euros. A continuación agregar un campo de opciones. Las etiquetas del grupo de opciones serán “Euros a pesetas” y “Pesetas a euros”. Los valores que devolverán las opciones serán 1 y 2 respectivamente. Por último seleccionar todo el grupo de opciones y ponerle el hombre “Opciones”. Ahora tan solo queda construir la macro y asignarle las acciones apropiadas.


SOLUCIONES
1º. Crear los dos informes. A continuación crear el formulario usando un control de Grupo de opciones. Reasignar el nombre del cuadro de Grupo de opciones por el nombre Informes (hoja de propiedades del recuadro, Todas, nombre). Ahora crearemos la macro.

Condición1 … … [Formularios]![formulario1 macro1]![informes]=1
Acción … … Abrir informe
                               Nombre del informe … … ANIMALES.
Condición2 … … [Formularios]![formulario1 macro1]![informes]=2
Acción … … Abrir informe
                               Nombre del informe … … CUIDADORES.

                Guardar la macro y crear un botón asociándole dicha macro.
                Formulario1 macro1 es el nombre que le asigné yo a mi formulario. Si le asignais otro, tendréis que cambiarlo en las condiciones.

2º. Primero crear el formulario como se indica en el ejercicio. Para ello usamos 3 cuadros de texto: Etiqueta Operando1 con nombre del campo donde introduciré el primer número Número1; Etiqueta Operando 2 y nombre del campo para el segundo número Número2; Etiqueta Resultado y nombre del campo donde aparecerá el resultado Resultao.

                Crear la macro.

Acción … … EstablecerValor
                Elemento … … [Formularios]![Formulario2]![resultao]
                               Expresión...[Formularios]![Formulario2]![numero1]+[Formularios]![Formulario2]![numero2]

Elemento hace referencia al campo donde se va a guardar el valor asignado en Expresión, en este caso el resultado de la operación.
                Ahora solo queda guardar la macro y crear un botón con dicha macro asociada.

3º. Modificar la macro anterior añadiendo ahora los mensajes de error. Como queremos que la acción no se ejecute hasta no tener los dos campos cubiertos, insertaremos dos filas por encima de la condición ya establecida en la macro (botón derecho del ratón e insertar fila).

Condición1 … … [Formularios]![formulario2]![numero1] Es Nulo
Acción1 … … …  CuadroMsj
                Mensaje1 … … Debe introducirse el primer operando
Condición2 … … [Formularios]![formulario2]![numero2] Es Nulo
Acción1 … … …  CuadroMsj
                Mensaje1 … … Debe introducirse el segundo operando

                Y ahora la Acción del ejercicio anterior “EstablecerValor”
  
4º y 5º. Primero crear el Informe de trabajadores. Segundo crear el formulario (en Vista Diseño) con un cuadro de texto con una etiqueta que diga “INTRODUCE EL SALARIO”. En tercer lugar creamos la macro:

Condición1 … …                [Formularios]![formulario1]![texto0]<0
Acción1 … …                       CuadroMsj … … No se aceptan sueldos negativos
Condición2 … …                Formularios]![formulario1]![texto0]<0
Acción2 … …                       DetenerMacro
Acción3 … …                       AbrirInforme
                Nombre del Informe … … TRABAJADORES
                Condición WHERE  [TRABAJADORES]![SUELDO]>=[Formularios]![Formulario1]![Texto0]

Esta condición lo que hace es abrir el informe TRABAJADORES pero mostrando solamente los datos de los empleados de la tabla TRABAJADORES cuyo sueldo sea igual o mayor al salario introducido en el formulario (Texto0, porque no le cambié el nombre al cuadro de texto)
          
           Ahora ya podemos agregar el botón “Ver informe” con la macro asociada.

6º. Primero crear un informe sobre la tabla PAÍSES. A continuación crear dos consultas, una seleccionando de la tabla PAÍSES los continentes (agrupar por) y otra para seleccionar las lenguas (agrupar por), para poder crear los cuadros combinados del formulario.
                Crear ahora el formulario, con dos cuadros combinados, uno para los continentes y otro para las lenguas. Para los continentes, seleccionaremos los datos de la consulta anterior, al igual que para las lenguas tomaremos los datos de la otra consulta.
                Ahora creamos la macro.

Acción … … AbrirInforme
                Nombre del informe … … PAÍSES
Condición WHERE … … … [PAISES]![Continente]=[Formularios]![Formulario1]![continente] Y [PAISES]![Lengua]=[Formularios]![Formulario1]![lengua]

Si el continente de la tabla PAISES es igual al continente que yo selecciono en el formulario Y la lengua de la tabla PAISES es igual a la que yo selecciono en el formulario, se abre el informe PAÍSES mostrando los datos que cumplan las dos condiciones. Obviamente, si selecciono continente África y lengua Catalán, pues no saldrá nada en el informe.
                Ahora crear un botón con la macro asociada para abrir el Informe según los datos que elija.

7º. Crear el formulario como se indica en el ejercicio (para este ejercicio no hace falta ninguna tabla ni nada). Asignar nombres a los cuadros donde van a ir los datos (edad, entrada, IVA, total)
                La macro quedaría así:

Condición1 … …                [Formularios]![formulario1]![edad]<1
Acción1 … … …                  CuadroMsj … … Edades a partir de un año
Condición2 … …                [Formularios]![formulario1]![edad]<1
Acción2 … … …                  DetenerMacro
Condición3 … …                                [Formularios]![formulario1]![edad] Entre 1 Y 17
Acción3 … … …                  EstablecerValor
                Elemento … …   [Formularios]![Formulario1]![iva]
                Expresión … …   0,16
Condición4 … …                [Formularios]![formulario1]![edad] Entre 18 Y 65
Acción4 … … …                  EstablecerValor
                Elemento … …   [Formularios]![Formulario1]![iva]
                Expresión … …   0,2
Condición5 … …                                [Formularios]![formulario1]![edad]>65
Acción5 … … …                  EstablecerValor
                Elemento … …   [Formularios]![Formulario1]![iva]
                Expresión … …   0,25
Acción6 … … …                  EstablecerValor
                Elemento … …   [Formularios]![Formulario1]![total]
Expresión … … … … … … … … …      [Formularios]![Formulario1]![entrada]*[Formularios]![Formulario1]![iva]+[Formularios]![Formulario1]![entrada]
             
           Ya solo queda crear el botón con la macro asociada y probar el funcionamiento.

8º. Crear el formulario con dos etiquetas de texto y un grupo de opciones.
La macro quedaría de la siguiente forma.

Condición1 … …                [Formularios]![formulario2]![opcions]=1
Acción1 … … …                  EstablecerValor
                Elemento … …   [Formularios]![Formulario2]![pesetas]
                Expresión … …   [Formularios]![Formulario2]![euros]*166,386
Condición2 … …                [Formularios]![formulario2]![opcions]=2
                Elemento … …   [Formularios]![Formulario2]![euros]
                Expresión … …   [Formularios]![Formulario2]![pesetas]/166,386

                Guardar la macro y crear el botón con la macro asociada.







No hay comentarios: