Almarante Postado Março 29, 2011 Denunciar Share Postado Março 29, 2011 Oi Pessoal Dando uma olhada no forum, vi um tópico " Selecionar no BD com aplicativo VB6 usando letras iniciais"Então tentei fazer conforme Codigo Abaixo, mas eu só sei programar da forma que está ai. Bom deu erro na linha do data gridno addItem"METODO OU MEMBRO DE DADOS NÃO ENCONTRADO"Não sei se dá certo com o data grid, se der me ajudem!Private Sub txtpesquisa_Change() X = Len(txtpesquisa.text) AdoClientes.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & stCaminhoBD AdoClientes.RecordSource = "select * from Clientes WHERE MID(Nome,0,x)='" & Mid(txtpesquisa.text, 0, X) & "'" AdoClientes.Refresh AdoClientes.Recordset.Filter = "Tipo = " & 1 Do While AdoClientes.Recordset.EOF = False DataGrid1.AddItem AdoClientes.Recordset = cbopesquisa.text AdoClientes.Recordset.MoveNext Loop End Subtxtpesquisa é onde digita o nome a serpesquisadocbopesquisa éonde escolhe a coluna que quer pesquisar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 29, 2011 Denunciar Share Postado Março 29, 2011 hum, mas o q você queria fazer com essa linha do AddItem()?? acho q você pegou o exemplo do outro tópico ne?? mas aquilo era pra listbox, se você quer setar os dados no datagrid, deve ser só assim:Set DataGrid1.DataSource = AdoCliente.Recordsetnem precisa de while.e quanto ao cbopesquisa, ele vai guardar o nome da coluna?? se for isso, você teria q usa-lo na hora de fazer o select.mas teria q ficar de olho, pois se você tentar Mid() em campo numerico, acho q ele deve dar erro (em se tratando de access, talvez ele faca a conversao automatica. não tenho certeza, mas ainda assim, deve ficar estrando Mid() em numero).fora isso, em vez de Mid(), o mais legal nesse caso é usar o Like (como tb comentei no outro tópico), porque o Like deve realizar muito menos operacoes do q o Mid() (ou seja, vai selecionar rapido, ganhando tempo quando você for mexer com bancos bem gdes). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Almarante Postado Março 30, 2011 Autor Denunciar Share Postado Março 30, 2011 Descupe, KUROI mas não Entendi onde colocar esta linha na rotina.O Post que copiei é do DALEONHART de 11/03/2011 as 22:28. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Março 30, 2011 Denunciar Share Postado Março 30, 2011 Olá Almarante !Óia eu aqui :rolleyes: Seguinte...para te ajudar, seria bom e importante você dizer o que deseja fazer...pois naquela ocasião eu estava querendo filtrar os dados do banco por "Datas"...e estava fazendo da maneira errada :blush: ... pois estava "capturando" o inicio de cada consulta, tipo, somente os 5 primeiros caractéres:Valor = Mid(Text1.Text , 1, 5) ' só para ilustrar Outra coisa...se você está a fazer uma busca, não faça no Grid, e sim no banco de dados com script's SQL (SELECT, WHERE, BETWEEN... e por aí vai :closedeyes: ), entaõ pode-se usar o Grid para apresentar o resultado...assim como uma ListBox ou outros objetos. Então, esquecendo o script que você postou, informe-nos que tipo de consulta você quer fazer para assim nós podermos te ajudar :D Só lembrando, que na medida do possível, pois também estou iniciando, mas gosto de compartilhar o que aprendí ( já que 60% de minha dúvidas são sanadas aqui :blush: ). Mais uma coisinha...só para teste...coloca estas duas linhas nesse script que você postou... Filtro = txtpesquisa.Text & "%" AdoClientes.RecordSource = "select * from Clientes WHERE Nome LIKE '" & Filtro & "'" Coloque no lugar de: AdoClientes.RecordSource = "select * from Clientes WHERE MID(Nome,0,x)='" & Mid(txtpesquisa.text, 0, X) & "'" Entre a "AdoClientes.ConnectionString" e o "AdoClientes.Refresh"...e comente o que deu ;)Té mais ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 31, 2011 Denunciar Share Postado Março 31, 2011 (editado) Mais uma coisinha...só para teste...coloca estas duas linhas nesse script que você postou...Filtro = txtpesquisa.Text & "%"AdoClientes.RecordSource = "select * from Clientes WHERE Nome LIKE '" & Filtro & "'"[/code] mas se for access, o caractere curinga tem q ser "*" e não "%", certo?? EDITADO: e aquela linha q eu passei era pra colocar no lugar de: [code]Do While AdoClientes.Recordset.EOF = FalseDataGrid1.AddItemAdoClientes.Recordset = cbopesquisa.textAdoClientes.Recordset.MoveNextLoop Editado Março 31, 2011 por kuroi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Almarante Postado Março 31, 2011 Autor Denunciar Share Postado Março 31, 2011 Olá, Danleonhart Deu certo era isso mesmo que eu queria, digitar uma letra e listar todos regitros que inicie com esta letra e assim pordiante.Olá KUROI, o BD é acsses, mas funcionou com "%" e não com "*". Valeu, Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 31, 2011 Denunciar Share Postado Março 31, 2011 Olá KUROI, o BD é acsses, mas funcionou com "%" e não com "*".estranho, tem mesmo gente q diz q funciona com "%", mas pra mim só da certo com "*". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Abril 1, 2011 Denunciar Share Postado Abril 1, 2011 Kuroi ! é estranho mesmo...aqui testei com "%" e "*" no Access e funfou legal :blink: agora no SQL só foi com o "*" :rolleyes: Vai entender...é como dizem..."Se feder é química, se mexer-se é biologia...se calcula-se é matemática...mas se não feder, mexer ou calcular-se...é informática ! " Coisa de louco :wacko: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Almarante
Oi Pessoal Dando uma olhada no forum, vi um tópico " Selecionar no BD com aplicativo VB6 usando letras iniciais"
Então tentei fazer conforme Codigo Abaixo, mas eu só sei programar da forma que está ai. Bom deu erro na linha do data grid
no addItem"METODO OU MEMBRO DE DADOS NÃO ENCONTRADO"
Não sei se dá certo com o data grid, se der me ajudem!
txtpesquisa é onde digita o nome a serpesquisado
cbopesquisa éonde escolhe a coluna que quer pesquisar.
Link para o comentário
Compartilhar em outros sites
7 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.