Gostaria de obter uma solução com o método filter para agilizar a consulta, evitando utilizar uma instrução select pois tornaria o sistema lento com o crescimento da base de dados.
Estou utilizando o evento change de um textbox e a cada alteração o recordset é filtrado e o resultado é apresentado em um datagrid.
Com tipo de dado texto funciona normal mas com número, não.
Segue parte do código para análise dos caros colegas:
Private Sub txLOCA_Change()
Dim strText As String
Dim strRetorno As String
Dim strVal As String
Dim lngSelStart As Long
Dim strPro
On Error Resume Next
strText = "*" & txLOCA.Text & "*"
strVal = txLOCA.Text (aqui está o problema: não sei qual caractere coringa devo usar, já tentei *, % e # - não deu certo)
If IsNumeric(txLOCA.Text) Then
strPro = strVal
Else
strPro = strText
End If
If Me.txLOCA.Text <> Nulo Then
vrLOCA.Filter = "" & CampoProcura & " like " & strPro & "" (CampoProcura é uma variável setada em outro procedimento)
dgLOCA.Columns(0).Visible = False
lbTOTA.Caption = "Total de Registros: "
lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount
Me.txLOCA = strRetorno
Me.txLOCA.SelStart = lngSelStart
Else
vrLOCA.Filter = ""
vrLOCA.Requery
dgLOCA.Columns(0).Visible = False
lbTOTA.Caption = "Total de Registros: "
lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount
Me.txLOCA = strRetorno
Me.txLOCA.SelStart = lngSelStart
End If
End Sub
Lembrando que eu estou usando VB6, banco de dados access e ADO
Pergunta
MDLima
Olá, bom dia
Gostaria de obter uma solução com o método filter para agilizar a consulta, evitando utilizar uma instrução select pois tornaria o sistema lento com o crescimento da base de dados.
Estou utilizando o evento change de um textbox e a cada alteração o recordset é filtrado e o resultado é apresentado em um datagrid.
Com tipo de dado texto funciona normal mas com número, não.
Segue parte do código para análise dos caros colegas:
Private Sub txLOCA_Change()
Dim strText As String
Dim strRetorno As String
Dim strVal As String
Dim lngSelStart As Long
Dim strPro
On Error Resume Next
strRetorno = txLOCA.Text
lngSelStart = txLOCA.SelStart
strText = "*" & txLOCA.Text & "*"
strVal = txLOCA.Text (aqui está o problema: não sei qual caractere coringa devo usar, já tentei *, % e # - não deu certo)
If IsNumeric(txLOCA.Text) Then
strPro = strVal
Else
strPro = strText
End If
If Me.txLOCA.Text <> Nulo Then
vrLOCA.Filter = "" & CampoProcura & " like " & strPro & "" (CampoProcura é uma variável setada em outro procedimento)
dgLOCA.Columns(0).Visible = False
lbTOTA.Caption = "Total de Registros: "
lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount
Me.txLOCA = strRetorno
Me.txLOCA.SelStart = lngSelStart
Else
vrLOCA.Filter = ""
vrLOCA.Requery
dgLOCA.Columns(0).Visible = False
lbTOTA.Caption = "Total de Registros: "
lbTOTA.Caption = lbTOTA.Caption & " " & vrLOCA.RecordCount
Me.txLOCA = strRetorno
Me.txLOCA.SelStart = lngSelStart
End If
End Sub
Lembrando que eu estou usando VB6, banco de dados access e ADO
Eu já tentei:
vrLOCA.Filter = "CStr(campo) like ' *11* ' "
Não dá certo
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.