Tengo una duda de una expresión en el Select Case, mi duda es la siguiente
si existe una variable cuyo valor es 5 llamado edadInt
y existe una expresión del select case de la siguiente forma:
Case (edadInt > 2 And edadInt < 6)
Porqué la ignora? Es decir con el operador And lo que hace es que si se cumple las 2 expressiones ejecutara el código que tiene dentro de su expresión.
Es decir edadInt es mayor que 2? eso es correcto aah pero tambien es mejor que 6? Sí
Entonces? Porque ignora esta expresión?
Aca el código
'Asigno edad
edadInt= 5
'Uso de la Sentecia Select
Select Case edadInt
Case Is < 2
strEtapa = "Guarderia y/o Maternal"
Case (edadInt> 2 And edadInt< 6) 'Porqué aca no entra? Si intEdad = 5?
strEtapa = "Edad para Kinder"
Case 6
strEtapa = "Edad para Primaria"
Case Is < 12
strEtapa = "Debes tener entre 6 y 11 años"
Case 13, 14, 15
strEdad = "Debe ir a la seundaria"
Case Else
strEdad = "Debes estar en otra etapa de estudio"
End Select
Estás declarando mal:
Case (edadInt> 2 And edadInt< 6)
Cambialo
Case Is > 2 And edadInt < 6
Ya estas asignando el caso, no debes colocarlo de nuevo en la primer comparacion.
Saludos.
HOLA!!!
La forma en la que lo estan planteando es incorrecta, se pierden muchos recursos sin sentido...
La forma correcta es
Select Case edadInt
Case Is < 2
strEtapa = "Guarderia y/o Maternal"
Case 3 To 5 'Porqué aca no entra? Si intEdad = 5?
strEtapa = "Edad para Kinder"
Case 6
strEtapa = "Edad para Primaria"
Case Is < 12
strEtapa = "Debes tener entre 6 y 11 años"
Case 13 To 15
strEdad = "Debe ir a la seundaria"
Case Else
strEdad = "Debes estar en otra etapa de estudio"
End Select
PERO...
Tu algoritmo de seleccion es muy errado tambien...
si la persona tiene menos de 0 años tambien dira " guarderia"
Si la persona tiene 2 años dira "Debes estar en otra etapa de estudio"
Si la persona tiene 12 años dira "Debes estar en otra etapa de estudio"
Fijate que un < o > no son iguales a <= o >=.
GRACIAS POR LEER!!!