ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Não consigo elaborar está busca.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
greenbereta
Novato
Novato


Registrado: Domingo, 1 de Janeiro de 2006
Mensagens: 63

MensagemEnviada: Qui Fev 01, 2007 11:36 am    Assunto: Não consigo elaborar está busca. Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
ale_v_teixeira
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Novembro de 2006
Mensagens: 100

MensagemEnviada: Qui Fev 01, 2007 3:03 pm    Assunto: Responder com Citação

Usa o comando Like no evento OnChange do Edit.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
karlosrapanui
Profissional
Profissional


Registrado: Terça-Feira, 29 de Agosto de 2006
Mensagens: 538

MensagemEnviada: Sex Fev 02, 2007 8:31 am    Assunto: Like Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
greenbereta
Novato
Novato


Registrado: Domingo, 1 de Janeiro de 2006
Mensagens: 63

MensagemEnviada: Sáb Fev 03, 2007 9:20 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Maick
Aprendiz
Aprendiz


Registrado: Terça-Feira, 10 de Agosto de 2004
Mensagens: 183
Localização: Interior SP

MensagemEnviada: Dom Fev 04, 2007 8:39 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
greenbereta
Novato
Novato


Registrado: Domingo, 1 de Janeiro de 2006
Mensagens: 63

MensagemEnviada: Ter Fev 06, 2007 11:40 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Maick
Aprendiz
Aprendiz


Registrado: Terça-Feira, 10 de Agosto de 2004
Mensagens: 183
Localização: Interior SP

MensagemEnviada: Dom Fev 11, 2007 12:18 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB