Jump to content

Problemas En Consulta vb.net y acces


Recommended Posts

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 acces.
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.

Link to comment
Share on other sites

sql = 'SELECT tabla.algo
       FROM   tabla
       WHERE  '
If combo1.selectedIndex > 0 Then
   sql = sql + 'tabla.campo1 = ''' & combo1.selectedValue & ''''
End If
If combo2.selectedIndex > 0 Then
   If combo1.selectedIndex > 0 Then
      sql = sql + 'AND '
   End If
   sql = sql + 'AND tabla.campo2 = ''' & combo2.selectedValue & ''''
End If
If combo3.selectedIndex > 0 Then
   If combo1.selectedIndex > 0 Or combo2.selectedIndex > 0 Then
      sql = sql + 'AND '
   End If
   sql = sql + 'AND tabla.campo3 = ''' & combo3.selectedValue & ''''
End If
If combo4.selectedIndex > 0 Then
   If combo1.selectedIndex > 0 Or combo2.selectedIndex > 0 Or combo3.selectedIndex > 0 Then
      sql = sql + 'AND '
   End If
   sql = sql + 'AND tabla.campo4 = ''' & combo4.selectedValue & ''''
End If

 

Es una versión súuuuuuper simplificada de lo deberías validar... En todo caso, para validar tu consulta, podrías depurar y ver qué consulta te está resultando!

 

SAlu2.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...