Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
greenbereta Novato

Registrado: Domingo, 1 de Janeiro de 2006 Mensagens: 63
|
Enviada: Qui Fev 01, 2007 11:36 am Assunto: Não consigo elaborar está busca. |
|
|
E ae pessoal blz? Espero que todos estejam bem.É o seguinte faz um bom tempo que venho tentando elaborar essa consulta e não consigo.Ex:
Eu tenho um DBEdit, e um DBGrid, conectados na mesma tabela(banco de dados Paradox), eu gostaria que quando eu digitasse algo no DBEdit, fosse feita a consulta no DBGrid, da seguinte forma:
Eu digito "B", só irá aparecer as palavras escritas com "B", se eu digitar
"BO" só irá aparecer as que se inicializarem com "BO", fui claro, será?Qualquer coisa eu posso explicar de uma outra forma, se necessário, agradeço a gentileza de todos.
Valeu! |
|
Voltar ao Topo |
|
 |
ale_v_teixeira Aprendiz

Registrado: Quarta-Feira, 1 de Novembro de 2006 Mensagens: 100
|
Enviada: Qui Fev 01, 2007 3:03 pm Assunto: |
|
|
Usa o comando Like no evento OnChange do Edit. |
|
Voltar ao Topo |
|
 |
karlosrapanui Profissional


Registrado: Terça-Feira, 29 de Agosto de 2006 Mensagens: 538
|
Enviada: Sex Fev 02, 2007 8:31 am Assunto: Like |
|
|
IBQUERY1.Close;
IBQUERY1.SQL.Clear;
IBQUERY1.SQL.Text:= 'SELECT * FROM SUA TABELA WHERE nome LIKE ' + quotedstr('%'+edtNome.Text+'%');
IBQUERY1.Open;
[]'s
Carlos
Piracicaba/SP |
|
Voltar ao Topo |
|
 |
greenbereta Novato

Registrado: Domingo, 1 de Janeiro de 2006 Mensagens: 63
|
Enviada: Sáb Fev 03, 2007 9:20 am Assunto: |
|
|
Bom pessoal, o exemplo do amigo karlosrapanui (gostaria de agradecer ao amigo ai), não deu erro, mas não ficou como o esperado, não aconteceu nada.Eu substui o "IBQUERY1" pelo "Query" (da aba BDE), já que eu uso paradox, pode ser isso o problema?Eu coloquei o código no evento onchange do DBEdit, ficou assim:
QUERY1.Close;
QUERY1.SQL.Clear;
QUERY1.SQL.Text:= 'SELECT * FROM Softwares WHERE NOMESOFTWARE LIKE ' + quotedstr('%'+edtNome.Text+'%');
QUERY1.Open
Por favor se alguém poder me dar uma ajuda.
Valeu! |
|
Voltar ao Topo |
|
 |
Maick Aprendiz

Registrado: Terça-Feira, 10 de Agosto de 2004 Mensagens: 183 Localização: Interior SP
|
Enviada: Dom Fev 04, 2007 8:39 pm Assunto: |
|
|
Olá amigo, a boa noticia é q é mtu simples!!!
Primeiro como o amigo Karlos disse vc tera de usar um EDIT ao invez do DBEDIT.
No onchange do Edit vc coloca algo similar a isto:
table1.Filter := 'NomeDoCampo = '+QuotedStr(Edit1.Text+'*');
Dependendo do banco de dados o caracter coringa pode ser '%' como é o caso do MySQL. No paradox ñ sei e vc precisa testar.
Ahh, não esqueça de habilitar a propriedade filtered da tabela.
Table1.Filtered := True;
Flws..
[]s |
|
Voltar ao Topo |
|
 |
greenbereta Novato

Registrado: Domingo, 1 de Janeiro de 2006 Mensagens: 63
|
Enviada: Ter Fev 06, 2007 11:40 am Assunto: |
|
|
Agora funcionou pessoal, mas quando eu apago os dados do edit(o da busca) o dbgrid fica em branco tbm?! Teria como resolver isso?
Valeu ae! |
|
Voltar ao Topo |
|
 |
Maick Aprendiz

Registrado: Terça-Feira, 10 de Agosto de 2004 Mensagens: 183 Localização: Interior SP
|
Enviada: Dom Fev 11, 2007 12:18 am Assunto: |
|
|
Crie uma verificação antes da aplicação do filtro assim:
IF Length(edFiltro.Text) = 0 Then
Begin
Table1.Filtered := False;
Exit;
end;
// Codigo do fitro aki:
Isso vai resolver seu problema amigo...
Flws
[]s |
|
Voltar ao Topo |
|
 |
|