Asociar sentencias if

Buenas noches, espero que me ayudes a dar con la solución a este dilema que se me ha presentado. Bien, a través de un cuadro de texto introduciré un FL (nivel de vuelo) y en otro cuadro de texto introduciré TRK (derrota) y quiero que al pulsar en un botón de comando solucione lo siguiente a través de unos msgbox...
Antes de nada lo siguiente: hay FL IMPARES y PARES creo que ahí está el gran problema... Bien cómo puedo asociar la sentencia if para que me de un valor distinto según lo reconozca...
Las derrotas(TRK)IMPARES van desde 000º hasta 179º y las PARES desde 180º hasta 359º... Cómo puedo hacer para que cuando al pulsar me diga si el FL es impar o par además de si es IFR o VFR tengo hecho lo siguiente pero no lo entiende o sí pero sólo me coge una opción y creo que es por la asociación:
if texto0=10 or 30 etc and texto2=0 or texto2<=179 then
msgbox"..."
end if
if texto0=20 or 40 etc and texto2=180 or texto2<=359 then
mgsbox"..."
end if
Etc...
Claro <=359 lo enbloba todo y por ello siempre me sale el mismo msgbox ....GRACIAS
Respuesta
1
No se si lo he entendido del todo bien.
Para empezar supongo que estas programando en algún lenguaje tipo VB, ia que en bases de datos no hay ni botones ni mssgbox(la pregunta me viene con la cabecera de bd i me ha desconcertado ^_^)
Más cosas, para saber si un numero es par o impar puedes usar la operación del resto, que normalmente es % (al menos en c, c++, c#..)
Si hago
(var%2)==0 entonces var sera par
Creo que seria una forma mejor de saber si es par o no.
Por lo que respect a los if's no acabo de entender que es lo que comparas.
En el primer if me pones que texto2 sea igual a cero 0 menor o igual que 179, aunque creo que seria más lógico un(texto2>=0 and texto2<=179)
Tendríamos todos los números en ese intervalo, i seria aplicable al segundo if.
Lo siento pero no acabo de entender tu explicacio, espero haberte ayudado. ^_^

2 respuestas más de otros expertos

Respuesta
1
A ver, no he entendido nada del tema de los vuelos, ni de que significa para ti par o impar, ni que son todas esas siglas (como IFR o VFR). En cualquier caso, creo que tu problema es que no tienes muy claro que estas haciendo con esas expresiones lógicas.
Si el punto de separación entre pares e impares es 180, has probado algo como:
if texto0=10 or 30 etc and texto2<=179 then
msgbox"..."
end if
if texto0=20 or 40 etc and texto2>=180 then
mgsbox"..."
end if
O, si lo quieres acotar por los dos lados, entonces:
if texto0=10 or 30 etc and (texto2>=0 and texto2<=179) then
msgbox"..."
end if
if texto0=20 or 40 etc and (texto2>=180 and texto2<=359) then
mgsbox"..."
end if
Mucha suerte!
Jordi
Respuesta
1
Yo lo hago así
If [NOMBRE] = " " Then
Else
If [PELI_DEJADA] = VERDADERO Then
Else
If [FECHA_DE_RECOJIDA] > [FECHA_DE_ENTREGA] Then
MsgBox "TE DEBE UNA PELICULA....." + NOMBRE + APELLIDOS
MsgBox "EL TITULO DE LA PELI ES...." + TITULO_DE_LA_PELICULA
Else
Me.Visible = False
End If
End If
End If
End Sub
en tu caso cambia los campos ami me funciona ejemplo
if [texto0]< 179 then
msgbox" los grados son mayores que 179"
Esto es siempre que sea los grados mayores etc...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas