Access - Macros..Ayuda!!

 
Vista:

Macros..Ayuda!!

Publicado por Celia (27 intervenciones) el 15/06/2007 12:31:40
Mirar llevo tiempo intentando solucionar lo siguiente y estoy algo desesperada...:
Se trata de un formulario que no está asociado a ninguna tabla. Contiene tres controles de tipo Cuadro de texto llamados C1, C2 y C3, que se supone que van a contener números. Deben funcionar así:
- Siempre los valores introducidos deben ser C1 < C2 < C3. Si se intenta infringir esta regla, se debe abortar la modificación (utilizar el evento Antes de modificar).
- Si se modifica el valor de C1 o C3, C2 debe calcularse automáticamente C2 como (C1+C2)/2.
- Si C1 queda vacío debe llenarse a 0. Si C2 queda vacío debe llenarse a C1+1. Si C3 queda vacío debe llenarse a C2+1.
No se ni por donde empezar, la verdad no estoy muy suelta.
Nota: no se nada de Visual Basic. ¿COMO SE PODRÍA HACER DESDE ACCESS?
MUCHISIMAS GRACIAS DE ANTEMANO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macros..Ayuda!!

Publicado por Pepe (766 intervenciones) el 15/06/2007 13:38:44
Hola Celia

Lo puedes hacer utilizando macros con condiciones y la acción establecer valor

Macro 4
Para cuando se modifica el C1o el C3
en la columna acción pondrías "Estavlecer valor"
en elemento pondrías[C2]
en Expresión pondrías ([C1]+[C3])/2

Macro 1
Para el caso de [C1]=0
En la columna de condición pondrías [C1] Es nulo
En acción "establecer valor"
en elemento pones [c1]
en expresión pones 0

Macro 2
Para el caso de [C2]=0
En la columna de condición pondrías [C2] Es nulo
En acción "establecer valor"
en elemento pones [c2]
en expresión pones [c1]+1

Macro 3
Para el caso de [C3]=0
En la columna de condición pondrías [C3] Es nulo
En acción "establecer valor"
en elemento pones [c3]
en expresión pones [c2]+1

La macro 1 se ejecutaría en el evento de despues de actualizar el C1 y despues la macro 4

La macro 2se ejecutaría en el evento de despues de actualizar el C2

La macro 3 se ejecutaría en el evento de despues de actualizar el C3 y despues la macro 4

Intentalo y si no te sale, dímelo y te mando un ejemplo

Saludos, Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macros..Ayuda!!

Publicado por Celia (27 intervenciones) el 15/06/2007 13:49:45
Gracias!!!!!!!!!!!!!!!
Lo intentaré y te digo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dudas para PEPE

Publicado por Celia (27 intervenciones) el 15/06/2007 14:00:49
Gracias Pepe!!
A ver te cuento
Tengo dudas:
En macro 4 ¿que condición pongo para que me evalue que el valor se modifica?
La macro 1, la 2 y la macro 3 se ejecutan en el evento de despues de actualizar, ¿Pero cómo hago para que despues de la macro 1 y la macro 2 vaya la 4?
Y por último ¿por qué la macro 4 despues de la 1 y la 2?
Seguro que son dudas básicas, pero estoy bastante pez
Todo lo demás creo que lo tengo como me dices
GRACIAS!!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dudas para PEPE

Publicado por Pepe (766 intervenciones) el 15/06/2007 17:21:24
Hola de nuevo Celia:

A la pregunta de como hace para que se ejecute la macro 4 después de ejecutar la 1 y la 2, se hace de la siguiente manera

A cada macro la añades una linea más cuya acción sea "ejecutar macro", y en la parte inferior de la ventana donde dice "nombre de macro", le seleccionas Macro4.

Con esto cunando acabe la macro1 o la macro2 de hacer sus historias, ejecuta la macro.

El por que primero ejecutas la 1 o la 2 y después la 4, es debido a que después de actualizar el C1 o el C3, lo primero que tiene que hacer es ver si tiene valor nulo o no para poner el valor de C2, y la cuatro es para el caso de que el C1 o C3 no sean nulos.

Intentalo y si quieres dime como te sale, (seguro que bien) y en el caso contrario te mando un pequeño ejemplo por correo.

Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar