Access - calculos con numeros y letras

 
Vista:

calculos con numeros y letras

Publicado por Victor Morales (5 intervenciones) el 11/12/2008 20:43:09
Hola a todos:
Estoy trabajando en euna base de datos en ACCESS y mi problema es el siguiente: lo que pasa es que tengo una formulario que cree desde una consulta en donde me calcula automaticamente la suma de 5 campos diferentes, en que cada uno se le pueden asignar un valor que va desde el 0 al 3 la suma maxima que resulta es de 15 puntos, la idea es tener un campo que a partir de la sumatoria de estos 5 campos el programa le asigne una letra, por ejemplo si me resulta en la suma un puntaje de 6 el programa le asigne la letra R (regular), otra cosa la letra se asigna a partir de unos rangos entre 0 y 5 Malo Por ende la letra "M" entre 6 y 10 Regular por ende la letra "R" y entre 11 y 15 Bueno por defecto "B", bueno la idea es que esto quede automatizado, para la persona que llene los datos en el formulario no decida que letra asignar sino lo realice el programa.
Espero que se haya entendido.
Muchas gracias
Victor Morales
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:calculos con numeros y letras

Publicado por kaditano (1 intervención) el 11/12/2008 21:25:15
Supongo que tendras un formulario con los cincos campo, más el de la letra. Si es eso, yo haria lo siguiente.

Primero en el evento "al activar registro"
Dim CAMPOTOTAL as integer
CAMPOTOTAL=nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5])

If CAMPOTOTAL >= 0 Y CAMPOTOTAL < =5 THEN
ME.CAMPOLETRA="M"
elseIf CAMPOTOTAL >= 6 Y CAMPOTOTAL < =10 THEN
ME.CAMPOLETRA="R"
elseIf CAMPOTOTAL >=11 THEN
ME.CAMPOLETRA="B"
endif

Segundo en el evento "Despues de actualizar" de ada campo de puntuacion

If nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5]) >= 0 Y nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5]) < =5 THEN
ME.CAMPOLETRA="M"

elseIf nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5]) >= 6 Y nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5]) < =10 THEN
ME.CAMPOLETRA="R"

elseIf nz([me.CAMPO1])+nz([me.CAMPO2])+nz([me.CAMPO3])+nz([me.CAMPO4])+nz([me.CAMPO5]) >=11 THEN
ME.CAMPOLETRA="B"
endif

Espero haberme explicado
Saludos
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