debo usar ifelse o select case? que hago?

08/07/2003 - 04:51 por mabus | Informe spam
Hola.

Soy novato en access y necesito su ayuda ya que estoy haciendo esto de

forma autodidacta, gracias :)

tengo un programa que si introduces peso, edad, sexo y estatura dice
el

peso ideal, lo cual ya funciona muy bien por suerte, lo que necesito

ahora es que me escriba un mensaje en un cuadro de texto (Texto58),
según el

resultado, por ejemplo, si el peso de la persona (cuadro "peso") es
mayor al valor que me aparece en el cuadro llamado p3DE (la tercera
desviación estandar) me escriba en "texto58" que tiene

sobrepeso, que si el peso está entre la desviación estándar +1 y -1 me

escriba que está en rango normal y así sucesivamente, me dijeron que
lo

hiciera con select case pero como no entiendo utilicé el if then else

... y creo que está bien estructurado, solo que no funciona

¿Alguien sabe porqué y que debo cambiarle?


Private Sub texto58_AfterUpdate()
If peso.Value > p3DE.Value Then
Texto58 = "Obesidad, mayor de 3 D.E."
ElseIf peso.Value < p3DE.Value And peso.Value > p2DE.Value Then
Texto58 = "Obesidad, mayor de 2 D.E."
ElseIf peso.Value < p2DE.Value And peso.Value > p1DE.Value Then
Texto58 = "Sobrepeso, mayor de 1 D.E."
ElseIf peso.Value < p1DE.Value And peso.Value > m1De.Value Then
Texto58 = "Peso en rango normal"
ElseIf peso.Value < m1De.Value And peso.Value > m2DE.Value Then
Texto58 = "Desnutrición leve, mayor a 1 D.E."
ElseIf peso.Value < m2DE.Value And peso.Value > m3DE.Value Then
Texto58 = "Desnutrición moderada, mayor a 2 D.E."
ElseIf peso.Value < m3DE.Value Then
Texto58 = "Desnutrición severa, mayor a 3 D.E."
Else
Texto58 = "algo anda muy mal"
End If
End Sub


me dijeron que el ".value" solo se usa cuando es "si/no", pero sin él

igual tampoco me funciona, les agradezco si saben la respuesta.

Salvador
 

Leer las respuestas

#1 Rosa
08/07/2003 - 07:38 | Informe spam
Hola Howsser,

Trata de anteponer a los campos y cuadros de texto "Me!", para hacer
referencia al formulario que se está utilizando en el momento de la
evaluación.

Me!Texto58
Me!peso


Y por su puesto con una caja de texto no utilices el Value. Para averiguar
el contenido de una caja de texto o establecer un valor se interpreta que
haces referencia a su contenido.

Otra posibilidad es utilizar la función SIINM, en la propiedad Origen del
Registro del campo de texto independiente, en tu caso TEXTO58, de esta
manera siempre tendrías el resultado a la vista, pero veo que son muchas
comprobaciones las que haces y puede ser "eterno".

Espero te sirva la ayuda,
Un saludo! :))

"Howsser" escribió en el mensaje
news:
Hola.

Soy novato en access y necesito su ayuda ya que estoy haciendo esto de

forma autodidacta, gracias :)

tengo un programa que si introduces peso, edad, sexo y estatura dice
el

peso ideal, lo cual ya funciona muy bien por suerte, lo que necesito

ahora es que me escriba un mensaje en un cuadro de texto (Texto58),
según el

resultado, por ejemplo, si el peso de la persona (cuadro "peso") es
mayor al valor que me aparece en el cuadro llamado p3DE (la tercera
desviación estandar) me escriba en "texto58" que tiene

sobrepeso, que si el peso está entre la desviación estándar +1 y -1 me

escriba que está en rango normal y así sucesivamente, me dijeron que
lo

hiciera con select case pero como no entiendo utilicé el if then else

... y creo que está bien estructurado, solo que no funciona

¿Alguien sabe porqué y que debo cambiarle?


Private Sub texto58_AfterUpdate()
If peso.Value > p3DE.Value Then
Texto58 = "Obesidad, mayor de 3 D.E."
ElseIf peso.Value < p3DE.Value And peso.Value > p2DE.Value Then
Texto58 = "Obesidad, mayor de 2 D.E."
ElseIf peso.Value < p2DE.Value And peso.Value > p1DE.Value Then
Texto58 = "Sobrepeso, mayor de 1 D.E."
ElseIf peso.Value < p1DE.Value And peso.Value > m1De.Value Then
Texto58 = "Peso en rango normal"
ElseIf peso.Value < m1De.Value And peso.Value > m2DE.Value Then
Texto58 = "Desnutrición leve, mayor a 1 D.E."
ElseIf peso.Value < m2DE.Value And peso.Value > m3DE.Value Then
Texto58 = "Desnutrición moderada, mayor a 2 D.E."
ElseIf peso.Value < m3DE.Value Then
Texto58 = "Desnutrición severa, mayor a 3 D.E."
Else
Texto58 = "algo anda muy mal"
End If
End Sub


me dijeron que el ".value" solo se usa cuando es "si/no", pero sin él

igual tampoco me funciona, les agradezco si saben la respuesta.

Salvador

Preguntas similares