EVENTO KEYPRESS

USUARIO.EXCLUIDOS 06/12/2003 21:23:48
#13
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!
USUARIO.EXCLUIDOS 06/12/2003 21:59:31
#15
Resposta escolhida
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
USUARIO.EXCLUIDOS 06/12/2003 22:14:10
#18
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
USUARIO.EXCLUIDOS 08/12/2003 01:47:32
#151
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
USUARIO.EXCLUIDOS 08/12/2003 21:44:58
#254
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
Tópico encerrado , respostas não são mais permitidas