FILTRO NO MSFLEXGRID

DOUGLASGARCIA 22/11/2011 12:23:08
#389710
tenho um msflexgrid que pega valores da tabela do access, este formulario tem um txtbox que vc pode filtar o msflexgrid. até ai tudo bem funcionando
tentei acresentar mais um txtbox para filtar outro dado e deu certo, mas agora querro fazer com um terceiro txtbox e não deu
o codigo é o seguite:

evento pra carregar o msflexgrid:
Dim Rs As New adodb.Recordset
Dim sql As String
Dim Criterio As String
Dim Criterio1 As String
Dim Criterio2 As String

grdPesquisa.TextMatrix(0, 0) = [Ô]op[Ô]
grdPesquisa.TextMatrix(0, 1) = [Ô]data[Ô]
grdPesquisa.TextMatrix(0, 2) = [Ô]codigo[Ô]
grdPesquisa.TextMatrix(0, 3) = [Ô]descrição[Ô]
grdPesquisa.TextMatrix(0, 4) = [Ô]quantidade[Ô]
grdPesquisa.TextMatrix(0, 5) = [Ô]localização[Ô]
grdPesquisa.TextMatrix(0, 6) = [Ô]dataproduzida[Ô]

Criterio = Chr$(39) & txtpesquisaop & [Ô]%[Ô] & Chr(39)
Criterio1 = Chr$(39) & txtpesquisadata & [Ô]%[Ô] & Chr(39)
Criterio2 = Chr$(39) & txtpesquisaop & [Ô]%[Ô] & Chr(39)


sql = [Ô]SELECT op, data,codprod,descrição,quantidade,localização,dataproduzida FROM MOVIMENTOS WHERE MOVIMENTOS.op Like [Ô] & Criterio & [Ô] AND MOVIMENTOS.data Like [Ô] & Criterio1 & [Ô] AND MOVIMENTOS.codprod Like [Ô] & Criterio2 & [Ô] ORDER BY op[Ô]

On Error Resume Next

With Rs

.Open sql, cnSQL, adOpenForwardOnly, adLockReadOnly

If .EOF Then

MsgBox [Ô]Registro não encontrado[Ô], vbExclamation, [Ô]Atenção[Ô]

Limpa
grdPesquisa.TextMatrix(1, 0) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 1) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 2) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 3) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 4) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 5) = [Ô][Ô]
grdPesquisa.TextMatrix(1, 6) = [Ô][Ô]
Else

Limpa

Do Until .EOF

grdPesquisa.AddItem Rs(0) & vbTab & Rs(1) & vbTab & Rs(2) & vbTab & Rs(3) & vbTab & Rs(4) & vbTab & Rs(5) & vbTab & Rs(6)

.MoveNext
Loop
grdPesquisa.RemoveItem 1
End If
.Close
End With
End Sub



evento nos textbox:

Private Sub txtpesquisaop_Change()
txtpesquisaop = UCase(txtpesquisaop)
txtpesquisaop.SelStart = Len(txtpesquisaop)

MontarLista

End Sub


o que não consegui fazer é com que o criterio2 filtre os dados codprod do msflexgrid

o que pode se?


ROBIU 22/11/2011 13:26:55
#389717
Resposta escolhida
1 - Verifique se está correto o critério (o 1º) e o critério2 (0 3º) usar o mesmo valor ( txtpesquisaop)

2 - Você tem que informar os tipos dos campos. Se o campo for numérico:
Criterio2 =  txtpesquisaop & [Ô]%[Ô]


DOUGLASGARCIA 22/11/2011 14:45:26
#389725
obrigado

realmente copie a linha e não alterei o nome da txtbox
falha minha

obrigado
Tópico encerrado , respostas não são mais permitidas