** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - if then con multiples condiciones
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoif then con multiples condiciones

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Tema: if then con multiples condiciones
    Enviado: 11/Octubre/2015 a las 20:06
hola,

No consigo que el "IF THEN ELSE STATEMENT", me  reconozca las condiciones :

Dim tipo As Integer
tipo =12

 If Not (tipo = 12) Or Not (tipo = 10) Or Not (tipo = 5) Or Not (tipo = 6) Or Not (tipo = 13) Or Not (tipo = 11) Then
        msgbox("La variable tipo=12 pero se pasa a esta linea")
else
        msgbox("y no a esta como deberia")  
 End If

Agradezco Vuestra ayuda




Editado por cpampasPT - 11/Octubre/2015 a las 20:10
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4939
Enlace directo a este mensaje Enviado: 11/Octubre/2015 a las 20:27
Yo no entiendo dices:
tipo =12
 
If Not (tipo = 12) Or Not (tipo = 10) Or Not (tipo = 5) Or Not (tipo = 6) Or Not (tipo = 13) Or Not (tipo = 11) Then
msgbox("La variable tipo=12 pero se pasa a esta linea") 'Como tipo es 12 aquí debe de contestar
Else
msgbox("y no a esta como deberia")  Aquí no porque es igual a 12
 
Saludos.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: en línea
Puntos: 11055
Enlace directo a este mensaje Enviado: 11/Octubre/2015 a las 20:46
If Not (tipo = 12) Or Not (tipo = 10) Or Not (tipo = 5) Or Not (tipo = 6) Or Not (tipo = 13) Or Not (tipo = 11) Then


Esta condición es siempre TRUE.

Supongamos que sea 12, cumple que NOT tipo = 10
Supongamos que sea <> 12, cumple que NOT tipo = 12




Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4939
Enlace directo a este mensaje Enviado: 11/Octubre/2015 a las 21:12
Si Mihura tienes razón, no se en que estoy pensando, al poner O con uno que no sea igual a 12 te lo hace verdadero siempre.
Otra opción es que uses Select Case individual en cada uno.
 
Saludos.
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton
Estado: Sin conexión
Puntos: 3379
Enlace directo a este mensaje Enviado: 11/Octubre/2015 a las 21:16
Puedes probar
 If Not (tipo = 12 or tipo = 10 Or tipo = 5 tipo = 6 Or tipo = 13 Or tipo = 11) Then
 msgbox ("Si la variable es 12 aquí no puede entrar")
else
        msgbox("si sale este mensaje es que la variable es 5 o 6 o 10 u 11 o 12 o 13")  
 End If




Luis
Estos son mis principios. Si no le gustan... tengo otros
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Enviado: 11/Octubre/2015 a las 23:49
Gracias a todos por Vuestros comentarios
segui la sugerencia de Luis , que me funciona perfecto, o sea :

 If Not (tipo = 12 or tipo = 10 Or tipo = 5 tipo = 6 Or tipo = 13 Or tipo = 11) Then
 msgbox ("Si la variable es 12 aquí no puede entrar")
else
        msgbox("si sale este mensaje es que la variable es 1,2,3,4,7 ......")  
 End If


Saludos
Podeis cerrar el hilo


Editado por cpampasPT - 11/Octubre/2015 a las 23:49
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable