Visual Basic - 2 fltros para un grid

Life is soft - evento anual de software empresarial
   
Vista:

2 fltros para un grid

Publicado por DarkRusel (9 intervenciones) el 17/03/2009 19:01:51
Buenas tardes:
Estoy trabajando en un proyecto de un video club para gestionar los alquileres de peílucas. Y me eh encontrado con un problema que nunca antes había tenido. ¿como utilizar más de un filtro para un búsqueda a traves de un MSHFlexGrid? La ídea es la siguiente: Tengo una base de datos MS Access 2003 y un proyecto en VB6.0 y quiero buscar las películas pero filtrandolas por el formato de las mismas. por ejemplo DVD o VHS. en el proyecto tengo lo siguiente:

2 Option Buttons en array. (uno para DVD y el otro para VSH) 2 textbox en uno (llamado Text1) iría el título de la pelicula que estamos buscando y en el Text10 le asiganamos el valor 1 solo para tener una referencia más sencilla en el código para realizar el filtrado. y un command button. La tabla en la base de datos (al menos los dos campos que nos intenresan) estan formados asi:

Titulo (como texto)
Cod_Formato (como Número)

La idea es que al seleccionar el Option button de dvd solamente me busque dentro de la tabla películas. Todos quellos titulos que posean el valor 1 en el campo Cod_Formato. y cuando utilize el de VHS el valor 2 en el mismo campo. El código que eh estado utilizando es el siguiente:

Option Explicit
Dim Aux As Recordset
Dim rs As Recordset
Dim sql As String
Dim sql2 As String
Dim opt As String

Private Sub Command1_Click()
Set Aux = New ADODB.Recordset

If opt = 0 Then

sql = "SELECT Peliculas.Cod_Peli, Peliculas.Titulo, Peliculas.Cod_Formato, Peliculas.Stock " & _
"From Peliculas " & _
sql = "SELECT Peliculas.Cod_Peli, Peliculas.Titulo, Peliculas.Cod_Formato, Peliculas.Stock " & _
"From Peliculas " & _
"WHERE (((Peliculas.Titulo)Like '" & Text1.Text & "%'))"

End If
Aux.Open sql, inicial.cn, adOpenDynamic, adLockOptimistic

DibujarGrilla
End Sub

Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
opt = 0
Me.Text10.Text = 1
Case 1
opt = 1
End Select
End Sub

Private Sub DibujarGrilla()
Set MSHFlexGrid1.DataSource = Aux
With MSHFlexGrid1
.ColWidth(0) = 300
.ColWidth(1) = 500
.ColWidth(2) = 2500
.ColWidth(3) = 700
.ColWidth(4) = 2500


End With
End Sub

Private Sub MSHFlexGrid1_Click()
If Me.MSHFlexGrid1.CellForeColor = &H800000 Then
Call PintarFila(&H80000008, False) 'LetraNegro
Me.MSHFlexGrid1.TextMatrix(Me.MSHFlexGrid1.Row, 0) = ""
Else

Call PintarFila(&H800000, True) 'LetraAzul
Me.MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0) = "->"
End If
End Sub

Sub PintarFila(color As Variant, SiNo As Boolean)
Dim i As Integer

For i = 0 To Me.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.Col = i
Me.MSHFlexGrid1.CellForeColor = color
Me.MSHFlexGrid1.CellFontBold = SiNo
Next
End Sub

La pregunta es: Como hágo para Realizar la búsqueda y filtrar el valor que tengo en el campo Text10 ?

Desde ya muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:2 fltros para un grid

Publicado por DarkRusel (9 intervenciones) el 17/03/2009 21:10:18
Ya logré corregir el problema. Aqui dejo el código para quien lo necesite:

sql = "SELECT Peliculas.Cod_Peli, Peliculas.Titulo, Peliculas.Cod_Formato, Peliculas.Stock " & _
"From Peliculas " & _
"WHERE (Peliculas.Cod_Formato)Like '" & Me.Text10.Text & "%' AND (Peliculas.Titulo)Like '" & Text1.Text & "%'"

De esta manera logramos que filtre todos los registros con el valor que posea Text10 en el campo Cod_Formato y al mismo tiempo el valor que posea Text1 para el campo Titulo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:2 fltros para un grid

Publicado por jesus salas  (2 intervenciones) el 18/03/2009 17:45:35
viejo mandame lo q tienes hecho x q no tentiend bien x q no pueds hacr lo d la busqueda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:2 fltros para un grid

Publicado por P3L30N2009 (701 intervenciones) el 18/03/2009 18:30:58
viejo a ver si aprendes a escribir que no estás enviando un SMS (aquí no cobran por palabras, se puede escribir hasta la biblia sin pagar un peso)

y ya de paso, viejo aprende a leer, porqué está diciendo que ya lo logró. Esto es lo que puso:

"Ya logré corregir el problema. Aqui dejo el código para quien lo necesite: "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar