elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Consulta SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta SQL  (Leído 1,784 veces)
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Consulta SQL
« en: 30 Junio 2009, 18:15 pm »

Hola, veran tengo que hacer un consulta SQL del tipo

Código:
"Select * From Flores WHERE Estado IN ('Pendiente','Enviado,'Entregado','Anulado')"


Los datos los cojo de 4 Check's. Mi difcultad esta en obtenerlos ya que tengo que hacer varios IF's ....

Código:
IF Check1=1 And Check2=1 AND Check3=1 AND Check4=1
IF Check1=1 And Check2=0 AND Check3=1 AND Check4=1
IF Check1=1 And Check2=0 AND Check3=0 AND Check4=1
IF Check1=1 And Check2=0 AND Check3=0 AND Check4=0
.
.
.
....
como veran boy haciendo muchos IF para cada caso, cosa que me enrreda. Hay alguna manera mas simple de hacer esto?


En línea

GroK


Desconectado Desconectado

Mensajes: 681


...I have become comfortably numb...


Ver Perfil
Re: Consulta SQL
« Respuesta #1 en: 30 Junio 2009, 19:04 pm »

Si la consulta original la tienes en una string, que tal si solo almacenas hasta:

Código:
Select * From Flores WHERE Estado IN (

Y luego compruebas con solo 4 If's cada uno de los checks y, en caso de que alguno este activado, concatenas la opcion correspondiente a la cadena con los operadores + ó &. Al finalizar le concatenas el ultimo parentesis y ejecutas la consulta. Y ten cuidado también con las comas que hay entre medio.

Saludos


En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Consulta SQL
« Respuesta #2 en: 30 Junio 2009, 23:04 pm »

Tambien tienes está opción, parecida a la que te mostro el amigo en la respuesta anterior:
Código
  1. Private Sub Command1_Click()
  2. Dim sCadena As String
  3.  
  4.    sCadena = "Select * From Flores WHERE Estado IN (" & _
  5.    IIf(Check1, "'Pendiente'", "") & _
  6.    IIf(Check2, ",'Enviado'", "") & _
  7.    IIf(Check3, ",'Entregado'", "") & _
  8.    IIf(Check4, ",'Anulado'", "") & ")"
  9.  
  10.    sCadena = Replace(sCadena, "(,", "(")
  11.    Debug.Print sCadena
  12.  
  13. End Sub

Mi recomendación es que trabajes con matrices de objetos, para los checks en este caso.
Recuerda o deberías hacer la validación para el caso en que ningún check este chequeado, no permita la consulta o recibiras un bonito mensaje de error..

saludos!!
En línea

TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Consulta SQL
« Respuesta #3 en: 1 Julio 2009, 13:09 pm »

Gracias, muchachos. me ha sido de gran ayuda
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consulta
Programación C/C++
aprendiend0 8 6,582 Último mensaje 5 Junio 2021, 07:26 am
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines