** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - test  logico " 1010 and 10001"
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

test logico " 1010 and 10001"

 Responder Responder
Autor
Mensaje
pezuarco Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 04/Octubre/2008
Localización: Colombia
Estado: Sin conexión
Puntos: 405
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pezuarco Cita  ResponderRespuesta Enlace directo a este mensaje Tema: test logico " 1010 and 10001"
    Enviado: 13/Abril/2020 a las 05:25
Buen dia para  todos !!!


  Bueno  no  se me ocurre otro nombre para la pregunta ,  pero  si me colaboran con el nombre pues lo cambio.

El  problema  es   el  siguiente: (solo necesito la idea )   tengo cuatro campos  lógicos  en  un  registro ,  su  formato  es   si/no  , algo  asi  como concatenar los 1s y 0s .
   1 0 0 1   registro  1 
   1 0 1 1   registro   2
   0 1 1 1    registro 3 
   0 1 1 0    registro 4
...... 
.....


a la hora  de validar alguna información  solamente quisiera  hacer algo así:

  select   case xx
   case 1011   and 1001
    ejecutar  acciones 
   case 0111  and 0110
     ejecutar acciones
   case  else 
    msgbox " error  de dtos"
   end  select


Solo  tengo esas  cuatro posibilidades.

gracias  por   su colaboración.

Muchas veces lo hacemos dificil....deberiamos verlo sencillo....todo es facil... necesitas logica ..paciencia...sapiencia....
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Abril/2020 a las 08:52
"algo  asi  como concatenar los 1s y 0s"  .. pues hazlo .. LOL

Select Case Int(Me.B1) & Int(Me.B2) & Int(Me.B3) & Int(Me.B4)
Case "1011", "1001"
...
Case "0111", "0110"
...
End Select


Nota: el Int es para convertir los True (-1) a (1).



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

Access Aplicaciones
Tecsys.es
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Abril/2020 a las 10:19
Esto.... mejor Abs(Me.B1)

Nota: el Int es para tomar la parte entera de un número; el Abs es para tomar el valor absoluto "despreciando" el signo.

(de buen rollo!)

Xavi, un minyó de Terrassa

Mi web
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 13/Abril/2020 a las 11:26
OuchOuchOuchOuchOuchOuch

¡Necesito salir a tomar el fresco! ....  Evil Smile

En que estaría yo pensando ... obviamente Abs como dice Xavi.

Gràcies minyó.




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

Access Aplicaciones
Tecsys.es
Arriba
pezuarco Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 04/Octubre/2008
Localización: Colombia
Estado: Sin conexión
Puntos: 405
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pezuarco Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 12/Febrero/2021 a las 16:46
que  pena  se  puede  cerrar
Muchas veces lo hacemos dificil....deberiamos verlo sencillo....todo es facil... necesitas logica ..paciencia...sapiencia....
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Mihura Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 12/Febrero/2021 a las 17:06
¿Qué pena?  ... ¿qué le ha pasado? ... ¿mal de amores?

Se puede saber que has hecho, que has intentado, ... porque no te funciona, porque la respuesta dada indica el camino a seguir ...

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

Access Aplicaciones
Tecsys.es
Arriba
Juanmasp Ver desplegable
Habitual
Habitual


Unido: 21/Abril/2006
Estado: Sin conexión
Puntos: 118
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Juanmasp Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 15/Febrero/2021 a las 15:19
Hola, lo que te han dicho es perfecto, pero si no lo entiendes o lo quieres hacer de otro modo:

Analizando las opciones que has puesto, la primera opción se resume en el patrón 10x1 y la segunda en 011x

Considerando los campos como b1, b2, b3 y b4 puedes hacer

if b1=true and b2=false and b4=true then
'ejecutar primer caso
else if b1=false and b2=true and b3=true then
'ejecutar segundo caso
else
msgbox "error de datos"
end if

Esto solo sirve para los supuestos que has mencionado, la solución que te han propuesto es mucho más flexible.

Espero que te sirva.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable