EVENTO KEYPRESS
Boa noite a todos!
Alguém poderia me ajudar?
Estou com um problema a muito tempo e não consegui resolver. Gostaria de criar uma lista com todos os dados do banco de dados tipo um DBGRID ou FLEXGRID, mais aà está o problema quando eu coloca-se um TEXTBOX e digita-se o nome que tem lá no banco de dados ele já fosse efetuando uma busca rápida.
Se alguém puder me ajudar agradeço!
Alguém poderia me ajudar?
Estou com um problema a muito tempo e não consegui resolver. Gostaria de criar uma lista com todos os dados do banco de dados tipo um DBGRID ou FLEXGRID, mais aà está o problema quando eu coloca-se um TEXTBOX e digita-se o nome que tem lá no banco de dados ele já fosse efetuando uma busca rápida.
Se alguém puder me ajudar agradeço!
cara... tu vai ter que fazer o seguinte: Considerando, hipoteticamente, que vc tem uma tabela de clientes, e um flexgrid que exibirá nome e endereço e ainda as variáveis de controle DB = Database, TB = Recordset, grdClientes = Flexgrid, fiz o seguinte exemplo que irá resolver o seu probleminha:
Private Sub txtPesquisa_Keypress(vTecla as Integer)
grdClientes.rows = 1
cSQL = "SELECT * FROM Clientes WHERE Nome LIKE '*"& txtPesquisa &"*'"
Set TB = DB.OpenRecordset(cSQL)
TB.Movefirst
If TB.Recourdcount 0 Then
grdClientes.Additem TB("Nome") & vbTab & TB("Endereco")
tb.Movenext
End If
TB.Close
End Sub
Com este código, a cada letra que vc digitar, o Flexgrid será zerado e preenchido com os dados pesquisados na tabela...
Espero ter podido ter ajudar.
Abraços,
Giovanni B. Machado
Canoas - RS
Analista de Sistemas
Private Sub txtPesquisa_Keypress(vTecla as Integer)
grdClientes.rows = 1
cSQL = "SELECT * FROM Clientes WHERE Nome LIKE '*"& txtPesquisa &"*'"
Set TB = DB.OpenRecordset(cSQL)
TB.Movefirst
If TB.Recourdcount 0 Then
grdClientes.Additem TB("Nome") & vbTab & TB("Endereco")
tb.Movenext
End If
TB.Close
End Sub
Com este código, a cada letra que vc digitar, o Flexgrid será zerado e preenchido com os dados pesquisados na tabela...
Espero ter podido ter ajudar.
Abraços,
Giovanni B. Machado
Canoas - RS
Analista de Sistemas
Cara... desculpe, fiz o código na corrida e esqueci de colocar um loop... AÃ vai a versão mais correta... já testei, funciona certinho...
Private Sub txtPesquisa_Keypress(vTecla As Integer)
grdClientes.Rows = 1
cSQL = "SELECT * FROM Clientes WHERE Nome LIKE '*" & txtPesquisa & "*'"
Set TB = DB.OpenRecordset(cSQL)
If TB.RecordCount 0 Then
Do Until TB.EOF
grdClientes.AddItem TB("Nome") & vbTab & TB("Endereco")
TB.Movenext
Loop
End If
TB.Close
End Sub
Private Sub txtPesquisa_Keypress(vTecla As Integer)
grdClientes.Rows = 1
cSQL = "SELECT * FROM Clientes WHERE Nome LIKE '*" & txtPesquisa & "*'"
Set TB = DB.OpenRecordset(cSQL)
If TB.RecordCount 0 Then
Do Until TB.EOF
grdClientes.AddItem TB("Nome") & vbTab & TB("Endereco")
TB.Movenext
Loop
End If
TB.Close
End Sub
Sei disso velho...
Só dei um exemplo pro cara na corrida... O jeito que ele vai abrir a tabela, é do gosto dele... Eu nem utilizo mutio o banco access pq é muito limitado, mas, deve ser o banco que ele está utilizando. O Oracle e o Informix tem infinidades de recursos para abertura, consulta e gravação.
Abraços,
Giovanni B. Machado
Canoas - RS
Analista de Sistemas
Só dei um exemplo pro cara na corrida... O jeito que ele vai abrir a tabela, é do gosto dele... Eu nem utilizo mutio o banco access pq é muito limitado, mas, deve ser o banco que ele está utilizando. O Oracle e o Informix tem infinidades de recursos para abertura, consulta e gravação.
Abraços,
Giovanni B. Machado
Canoas - RS
Analista de Sistemas
Meu amigo Coldburn, eu trabalho com Oracle e Informix, por isso não preciso ver licenças e tudo... Temos uma pessoa que administra os bancos. Eu, só programo...
Abraços,
Giovanni B. Machado
Abraços,
Giovanni B. Machado
Tópico encerrado , respostas não são mais permitidas