Access - macros

 
Vista:

macros

Publicado por Celia (27 intervenciones) el 14/06/2007 11:31:25
Hola!!
Mirad tengo un formulario con varios campos, entre los que están Edad, y Descuento.
He hecho una macro con esta condición: ([Edad]<25), acción establecer valor para que en elemento descuento ponga la expresión de 5. En el formulario, en el control Edad, aplico macro en el evento despues de actualizar. Relleno edades y todo perfecto, me pone los descuentos. El problema es: que cuando quiero cambiar de descuento, es decir, modifico el diseño de la macro, ya no es 5 de descuento sino 7. ¿COMO HAGO PARA NO CAMBIAR TODOS LOS DATOS DEL FORMULARIO? No me sale aún si en condiciones de la macro llamo al formulario: Formularios![nombreformulario], etc.
PODRÍAIS AYUDARME????
GRACIAS!!
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

Publicado por Félix (183 intervenciones) el 14/06/2007 12:23:10
Lo que no acabo de entender es por que quieres cambiar el % despues de haberlo filtrado.....

si quieres provar en codigo:

if [edad] < 25 then [descuento] =5

para mas solucion dime como quieres y cuantos campos deseas cambiar....
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

Publicado por Celia (27 intervenciones) el 14/06/2007 12:38:26
Gracias!!
Lo quiero cambiar porque por ejemplo me he equivocado de descuentos y no es 5 sino otro valor. Te cuento todo:

Supongamos que tenemos una formulario par introducir características de clientes. Nuestra empresa ofrece descuentos especiales a clientes menores de 25 años, a minusválidos y a poseedores de un carnet de socios según el siguiente criterio:

Menores de 25 años 5%
Minusválidos 10%
Socios 20%
Socios minusválidos 25%
Minusválidos menores de 25 10%
Socios menores de 25 años NO PERMITIDOS

Diseño de Tabla:

La tabla que almacena esta información consta de los siguientes campos Apellidos, Nombre, DNI Texto.
Edad Numérico.
Minusválido Texto de longitud 1, con dos únicas posibilidades: "S" o "N"
NumSocio Numérico. Nulo si no es socio.
Descuento Numérico entre 0 y 100.

Tenemos un formulario con un control para cada campo, con el mismo nombre que el campo. El formulario debe establecer de forma automática el descuento a partir de las características del cliente. Además debe detectar las situaciones prohibidas, como un cliente menor de 25 años.

Macros

([Minusvalido]="S") Y ([Edad]<25)
([Minusvalido]="S") Y ([NumSocio] Es Negado Nulo)
([NumSocio] Es Negado Nulo)
([Minusvalido]="S")
([Edad]<25)

Todas las acciones de las Macros son EstablecerValor en el elemento [Descuento] y con la expresión de su respectivo Descuento, detrás de cada una están los ... con la accion Detener Macro.

El problema viene cuando yo una vez que he introducido los datos y han funcionado las macros correctamente, por lo que sea ahora QUIERO CAMBIAR LOS DESCUENTOS. Lo que hago es con las mismas condiciones, cambio los descuentos, pero no se me actualizan en el formulario, ¿COMO LO HAGO?

MUCHISIMAS GRACIAS DE ANTEMANO
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

Publicado por Félix (183 intervenciones) el 14/06/2007 14:52:33
Lo que tienes que hacer es una tabla de preferencias para actualizacion de los descuentos y asignar esos valores nuevos. Por ejemplo un campo para cada tipo de descuento y la añades con un subform no visible dentro del form para llamar a los valores que deseescrea un cuadro conbinado y asignalo a valores primarios y segundarios del subform. crea tambien un form de preferencias de actualizacion de descuentos para modificar segun tus criterios llamandolo con un boton de comando.

Espero que sea esto lo que me pides... te hago el codigo por si quieres hacerlo en codigo

if [Edad] =< 25 then descuento = 5 '''o [forms]!t[uformulario]![campo de tu subform]"'
if [Minusvalido] = "s" then descuento = 10 '''o [forms]!t[uformulario]![campo de tu subform]"'
if [NumSocio] =<> 0 then descuento = 20 '''o [forms]!t[uformulario]![campo de tu subform]"'
if [Minusvalido] = "s" and [NumSocio] <> 0 then descuento = 25 '''o [forms]!t[uformulario]![campo de tu subform]"'
if [Minusvalido] = "s" and [Edad] < 25 then descuento = 10 '''o [forms]!t[uformulario]![campo de tu subform]"'
if [NumSocio] <> 0 and [Edad] < 25 then msgbox "Descuento no permitido",,"Nombre de mi programa"
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

Publicado por Celia (27 intervenciones) el 14/06/2007 15:52:22
Muchisimas gracias!! lo intentaré
Gracias de verdad
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