|
Postada em 13/02/2008 10:43 hs
Pessoal
Estava tentando fazer uma pesquisa incremental com os componentes TEXTBOX, DATAGRID E ADODC mas não esta legal.
Tenho um TextBox e um DataGrid. Gostaria de que ao digitar no textbox o ponteiro/cursor ou focus da linha do datagrid posicione no registro cujo o conteudo do campo inicie com o caracter digitado. Não é uma pesquisa onde va aparecer todos com "J" por exemplo, se eu digitasse "J" no textbox; e sim, a medida em que eu digitando no textbox o ponteiro/cursor ou focus da linha correspondente.
Tem como fazer assim?
|
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 13/02/2008 10:54 hs
eu tenho esta função só que com listview ficou bem lega se você desejar envio pra você. como funciona do jeito que você quer conforme ao que se vai digitando o texto ele vai filtrando. é bem legal
|
|
|
|
Postada em 13/02/2008 11:08 hs
Ola Treze, Bem... a minha intenção é que localizado o registro eu possa com um DBLClick por exemplo, pegar da linha os valores coluna(1),Coluna(2),Coluna(n)... Sera que com o ListView da pra fazer assim? Pode mandar essa função no meu no email para eu dar uma olhada?
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 13/02/2008 11:26 hs
igualzinho o data grid mas da pra adptar para o datagrid, faz o seguinte poste como você costuma fazer pesquisa e exibir no datagrid eu farei as alterações pra você.
|
|
|
|
Postada em 13/02/2008 11:51 hs
Bom... inicio ta assim: Private Sub Form_Load() Meudir = App.Path If Right$(Meudir, 1) <> "" Then Meudir = Meudir & "" Meudir = Meudir & "BDADOS.Mdb" SQLString = "select * from empresas order by razao" Banco.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= " & Meudir Rcset.Open SQLString, Banco, adOpenKeyset, adLockOptimistic DataGrid1.ColumnHeaders = True DataGrid1.HeadFont = "Ms Sans Serif" DataGrid1.HeadFont.Size = 9 DataGrid1.HeadFont.Bold = True DataGrid1.Columns(0).Width = 4800 DataGrid1.Columns(1).Width = 2000 DataGrid1.Columns(2).Width = 2000 DataGrid1.Columns(3).Width = 2000 DataGrid1.Columns(0).Caption = "RAZÃO SOCIAL CONTRIBUINTE" DataGrid1.Columns(1).Caption = "CNPJ/SRF" DataGrid1.Columns(2).Caption = "CPF RESPONSÁVEL" DataGrid1.Columns(3).Caption = "CÓDIGO ACESSO" DataGrid1.HeadFont = "Ms Sans Serif" DataGrid1.HeadFont.Size = 9 DataGrid1.HeadFont.Bold = True Adodc1.Refresh DataGrid1.Refresh ...... To tentando a pesquisa assim: Private Sub TXTPESQUISA_Change() Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim sql As String cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Meudir rst.Open "Select * From empresas WHERE razao like '%" & TXTPESQUISA.Text & "%'", cnn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rst sql = "Select * From empresas WHERE razao like '%" & TXTPESQUISA.Text & "%'" Adodc1.RecordSource = sql 'Set DataGrid1.DataSource = rst 'Set DataGrid1.DataSource = Adodc1 End Sub Não ta dando, o CURSOR do DATAGRID "Pisca", MAS NÃO SAI DO LUGAR, ETC.
|
|
|
JOM
|
BOM JESUS DA LAPA BA - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 14/02/2008 00:24 hs
se ta usando controle ADODC então faz assim pra ver se fica do jeito que vc quer Private Sub Txtpesquisa_Change() On Error GoTo trata_erro Adodc1.Recordset.Filter = "razao like '" & Txtpesquisa.Text & "%'" trata_erro: With Err If .Number <> 0 Then .Number = 0 End If End With End Sub isso estando ja o datagrid carregado com os dados da tabela através do ADODC, então conforme for digitando vai buscando só os dados que forem iguais aos digitados
|
|
|