Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problema En Consulta

Estas en el tema de Problema En Consulta en el foro de SQL Server en Foros del Web. Estimados soy nuevo en este foro y me gustaria pedir ayuda por una tema que me tiene algo complicado, les cuento, estoy haciendo una aplicacion ...
  #1 (permalink)  
Antiguo 08/04/2013, 18:38
 
Fecha de Ingreso: abril-2013
Ubicación: Chile
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Mensaje Problema En Consulta

Estimados soy nuevo en este foro y me gustaria pedir ayuda por una tema que
me tiene algo complicado, les cuento, estoy haciendo una aplicacion en vb.net 2010 y sql 2005.
necesito realizar una consulta que me permita traer todos los registros o algunos dependiendo del filtro que aplique.
por ejemplo tengo una tabla

Insumo
id_ins (Codigo)
des_ins (Descripcion)
mar_ins (Marca)
are_ins (Area)
fam_ins (Familia)
emp_ins (Empresa)

y en el formulario tengo 4 ComboBox(Marca, Area, Familia y Empresa) y un boton Filtrar
selecciono el dato a filtrar por cada combobox ejemplo para el combobox Marca puede ser:

Todos
Dell
Lenovo
Toshiba
Samsung

y asi para el resto de los combos con sus respectivos registros pero todos con la opcion de traer todos los o alguno de los registros.

entonces quiero hacer una consulta y hay hacer el filtro para los cuatro combobox
pero no me resulta.

estaba intentando con esto,

Select * From Insumo where Mar_ins = iif('" & CboMarca.Text & "' <> 'Todos','" & CboArea.Text & "','?????????') he probado con todo y nada me funciona que tengo que colocar para que traiga todos los registros??
ya que individual si funciona, pero si coloco todos no me ha resultado porque
no se como se hace.

favor alguien me pueda ayudar ya que me he quedado estancado en esta parte o alguien tiene una mejor idea de como hacerlo.
Gracias.
  #2 (permalink)  
Antiguo 08/04/2013, 21:52
Avatar de abel_c_b  
Fecha de Ingreso: junio-2008
Mensajes: 103
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Problema En Consulta

Hola, porque mejor no haces un condicional...

if CboMarca.Text ="todos" then
sql="Select * From Insumo"
else
sql="Select * From Insumo where Mar_ins ="CboMarca.Text
end if

y despues el resto....

espero q esta sugerencia te ayude
  #3 (permalink)  
Antiguo 09/04/2013, 10:57
Avatar de othix  
Fecha de Ingreso: mayo-2011
Ubicación: Guatemala
Mensajes: 92
Antigüedad: 13 años
Puntos: 9
Respuesta: Problema En Consulta

deberia ser algo asi

Código MySQL:
Ver original
  1. FROM INSUMO
  2. WHERE  
  3. ((mar_ins = '" & CboMarca.Text & "') OR('" & CboMarca.Text & "'='TODOS'))
  4. ((are_ins  = '" & CboArea.Text & "') OR('" & CboArea.Text & "'='TODOS'))
  5. ((fam_ins  = '" & CboFamilia.Text & "') OR('" & CboFamilia.Text & "'='TODOS'))
  6. ((emp_ins  = '" & CboEmpresa.Text & "') OR('" & CboEmpresa.Text & "'='TODOS'))

Si probas esto en sql deberia cumplor con tu necesidad

Código MySQL:
Ver original
  1. FROM INSUMO
  2. WHERE  
  3. ((mar_ins = 'Dell') OR('Dell'='TODOS'))
  4. ((are_ins  = 'TODOS') OR('TODOS'='TODOS'))
  5. ((fam_ins  = 'TODOS') OR('TODOS'='TODOS'))
  6. ((emp_ins  =  'TODOS') OR('TODOS'='TODOS'))

Saludos espero haberte ayudado.
__________________
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.