BUSCA AUTOMATICA NO GRID

USUARIO.EXCLUIDOS 08/08/2007 07:58:16
#229922
Galera estou de volta, e mais uma vez com a mesma tecla...
Baixei um projeto que era exatamente o que sempre pretendir sobre busca automatica em um DataGrid e por esse motivo tenho certeza que no meu projeto posso fazer da certo. No meu projeto eu jatinha feito essa pesquisa atraves de uma sql mais nunca ficou da forma que quiz, e tambem eu uso o componente chamado MSFlexGrid e gosto muito dele e não quero abadona-lo... vou explicar detalhadamente

Tenho em um form os seguintes controles
1 Caixa de texto
1 MSFlexgrid

E o que eu queria é que quando eu fosse digitando no msflexgrid fosse selecionando o nome que atendesse a digitacao lembrando que fosse do inicio para o fim, porque do inicio para o fim? porque na sql ele seleciona a letra ou palavra que contem no nome.

Eu vir nesse projeto que baixei da mesma forma que eu queria exemplo:
quando eu digitasse o nome "Nildglan" no DataGrid a linha que tivesse o nome "Nildglan" ou que atendesse na ordem de criterio ela ficou selecionada isso foi perfeito. O problema que eu uso o MSflexgrid e não queria deixa-lo, mais tenho certeza que ele tambem faz isso...

Agradeço a ajuda

USUARIO.EXCLUIDOS 08/08/2007 08:37:38
#229927
Resposta escolhida


Cara é o seguinte: vou explicar por cima..e depois eu detalho melhor

coloca essa sql no evento change do textbox

antes desta sql, coloca uma sintaxe pra limpar, zerar o flexgrid

e depois da sql..uma pra preencher o flexgrid

entendeu?


USUARIO.EXCLUIDOS 08/08/2007 08:54:28
#229928

Detalhando:

'no evento change da sua caixa de texto de critério

Private Sub txtchave_Change()
If txtchave = "" Then
For x = 2 To MSFlex.Rows
MSFlex.Clear
MSFlex.Rows = 1
Exit Sub
Next x
End If


SqlTabela = "Select * From Tabela Where Nome Like '" & txtchave.Text & "' & '%' Order By Código"
Conecta 'aki é sua função de conexão...se quiser..depois mando a q usei

With MSFlex

.FixedCols = 0
.Cols = 4

'cabeçalho do Grid
.TextMatrix(0, 0) = "Código"
.TextMatrix(0, 1) = "Nome"
.TextMatrix(0, 2) = "Data Cadastro"
.TextMatrix(0, 3) = "Valor"

'preenchimento do grid..segundo sql
For x = 1 To Tabela.RecordCount
.AddItem (Row)
.TextMatrix(x, 0) = Tabela!Código
.TextMatrix(x, 1) = Tabela!Nome
.TextMatrix(x, 2) = Tabela!DataCad
.TextMatrix(x, 3) = Format(Tabela!Valor, "Currency")
.Rows = .Rows + 1
Tabela.MoveNext
Next x

.RemoveItem (x)
End With

End Sub



captou aí!...espero q ajude

boa sorte e sucesso!
Tópico encerrado , respostas não são mais permitidas