Visual Basic - IF ... END IF

Life is soft - evento anual de software empresarial
 
Vista:

IF ... END IF

Publicado por GRIS (48 intervenciones) el 28/08/2007 15:06:57
Hola a tod@s, espero me puedan brindar ayuda como siempre, resulta que tengo las siguientes sentencias ...

IF Etiqueta247.Caption = 10 or 11 or 12 or 13 or 14 or 15 then
Clt1.Visible = true
Ctl2.visible = false
Ctl3.Visible = false
End if

IF Etiqueta247.Caption = 16 or 17 0r 18 or 19 or 20 then
Ctl1.Visible = false
Ctl2.visible = True
Ctl3.Visible = false
End if

IF Etiqueta247.Caption = 21 or 22 or 23 or 24 or 25 then
Ctl1.visible = False
Ctl2.Visible = False
Ctl3.Visible = True
End if

Y al final deja visibles a todos, por que ????? ... Ya lo intente con and y nada ...
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:IF ... END IF

Publicado por leo (50 intervenciones) el 28/08/2007 16:53:30
siempre te da verdadero, xq evaluas a Etiqueta247.Caption = 10 y despues solo evaluas el 11, q siempre da vedadero, no se si m explico

la sentencia IF Etiqueta247.Caption = 10 or 11 or 12 or 13 or 14 or 15 then
quedaria
IF Etiqueta247.Caption = 10 or Etiqueta247.Caption = 11 or Etiqueta247.Caption = 12 or Etiqueta247.Caption = 13 or Etiqueta247.Caption = 14 or Etiqueta247.Caption = 15 then

Pruebalo asi q va a funcionar........
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

Algo más

Publicado por Taliban (13 intervenciones) el 28/08/2007 17:01:00
Para ahorrar un poco de código:

If Val( Etiqueta247.Caption) >= 10 And Val( Etiqueta247.Caption)<= 15 then
En este caso sí se usa AND.

Y así para las demás comparaciones.
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:IF ... END IF

Publicado por GRIS (48 intervenciones) el 28/08/2007 21:13:48
Hola de nuevo, gracias por su repuesta, pero es extraño porque lo hice de las dos maneras, funciono a la primera vez, pero despues ya no, que es lo que tengo mal ???? ...

If Etiqueta247.Caption = 19 Or Etiqueta247.Caption = 20 Or Etiqueta247.Caption = 21 Or Etiqueta247.Caption = 22 Or Etiqueta247.Caption = 23 Or Etiqueta247.Caption = 24 Or Etiqueta247.Caption = 25 Or Etiqueta247.Caption = 26 Or Etiqueta247.Caption = 27 Then
Ctl1.Visible = True
Ctl2.Visible = False
Ctl3.Visible = False
Ctl4.Visible = False
Else
Ctl1.Visible = False
Ctl2.Visible = False
Ctl3.Visible = False
Ctl4.Visible = False
End If

If Etiqueta247.Caption = 28 Or Etiqueta247.Caption = 29 Or Etiqueta247.Caption = 30 Or Etiqueta247.Caption = 31 Or Etiqueta247.Caption = 32 Or Etiqueta247.Caption = 33 Or Etiqueta247.Caption = 34 Then
Ctl1.Visible = False
Ctl2.Visible = True
Ctl3.Visible = False
Ctl4.Visible = False
Else
Ctl1.Visible = False
Ctl2.Visible = False
Ctl3.Visible = False
Ctl4.Visible = False
End If
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:IF ... END IF

Publicado por Leo (50 intervenciones) el 29/08/2007 14:42:14
funciono mal???
lo unico q se m ocurre probar es
If Val (Etiqueta247.Caption) = 28 .......

y esta fc Val aplicada a cada label, para q tome el valor numerico del mismo y no lo considere un String.......

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

RE:IF ... END IF

Publicado por Taliban (13 intervenciones) el 29/08/2007 16:33:25
Algo similar le aconsejé, no solamente para forzar a que los consedere como valores numéricos, sino para evitar tantas comparaciones (aquí lo transcribo)

Para ahorrar un poco de código:
If Val( Etiqueta247.Caption) >= 10 And Val( Etiqueta247.Caption)<= 15 then
En este caso sí se usa AND.
Y así para las demás comparaciones.

Pero nunca supe si lo leyó y tampoco supe si le sirvió; no me contestó nada.
Y está raro que funcione bien la primera, y después ya no. ¿No tendrá ese código en el Load del formulario?
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