Fórum Busca no Paradox / TTable #321881
22/05/2006
0
Preciso fazer uma busca num sistema em Delphi. Estou usando componentes Table, e o banco esta no Paradox.
Mas detalhe, não dá pra usar o FindKey, pois não posso mudar o INDEX NAME, pois a TABLE está relacionada com outra, se mudo o Index, somem os registros. Então, recaptulando...:
preciso fazer uma busca em um campo que não é o Index.
Aguardo Ajuda...
Muti obrigado !
Buck
Curtir tópico
+ 0Posts
23/05/2006
Amarildo
Gostei + 0
23/05/2006
Demian Soares
Gostei + 0
23/05/2006
Buck
como se usa ele ?
Gostei + 0
23/05/2006
Jlimajr
if not tabela.LOCATE(´campo´,EDIT1.TEXT,[]) then
begin
SHOWMESSAGE(´Coloque sua mensagem aqui!´);
edit1.text:=´´; // limpa o edit
edit1.SetFocus; //caso naum localize retorna ao edit
end else
edit2.setfocus;
end;
Fora a opçao dentro do [ ]
[LoCaseInsensitive] e [LopartialKey]
Opção de pesquisa que pode ser loPartialKey que representa pesquisa parcial como loCaseInsensitive que diferencia letras Maiúsculas de Minúsculas.
Outra alternativa usando table é fazer filtro neste caso pode usar o LIKE
DM.tabela.filtered := false;
DM.tabela.filter := ´campo LIKE ´+quotedstr(edit1.Text+´¬´);
DM.tabela.filtered := true;
Agora se quiser usar Query vc pode fazer os comando usando o SQL com o select
Query1.Close;
Query1.SQL.Text:=´SELECT campo from tabela where ´+ ´campo like :pnome ORDER BY campo´;
Query1.ParamByName(´pnome´).Value:=Edit1.Text+´¬´;
Query1.Open;
Essa aqui usei parametro mais vc pode usar direto com o QuotedSTR
Tem muitas outras maneiras de pesquisa, filtros etc pesquise sobre o LIKE ele é muito bom para certas pesquisas inclusive pode se usar de varias formas
Gostei + 0
23/05/2006
Jlimajr
if not tabela.LOCATE(´campo´,EDIT1.TEXT,[]) then
begin
SHOWMESSAGE(´Coloque sua mensagem aqui!´);
edit1.text:=´´; // limpa o edit
edit1.SetFocus; //caso naum localize retorna ao edit
end else
edit2.setfocus;
end;
Fora a opçao dentro do [ ]
[LoCaseInsensitive] e [LopartialKey]
Opção de pesquisa que pode ser loPartialKey que representa pesquisa parcial como loCaseInsensitive que diferencia letras Maiúsculas de Minúsculas.
Outra alternativa usando table é fazer filtro neste caso pode usar o LIKE
DM.tabela.filtered := false;
DM.tabela.filter := ´campo LIKE ´+quotedstr(edit1.Text+´¬´);
DM.tabela.filtered := true;
Agora se quiser usar Query vc pode fazer os comando usando o SQL com o select
Query1.Close;
Query1.SQL.Text:=´SELECT campo from tabela where ´+ ´campo like :pnome ORDER BY campo´;
Query1.ParamByName(´pnome´).Value:=Edit1.Text+´¬´;
Query1.Open;
Essa aqui usei parametro mais vc pode usar direto com o QuotedSTR
Tem muitas outras maneiras de pesquisa, filtros etc pesquise sobre o LIKE ele é muito bom para certas pesquisas inclusive pode se usar de varias formas
Gostei + 0
22/10/2006
Anjinho Loiro
Como por exemplo, existem vários ´João da Silva´, mas só me interessa localizar o que foi cadastrado em 15/08/2006.
Espero que vc possa me ajudar.
Beijinhos.
Gostei + 0
22/10/2006
Antseralves
if IBTable1.Locate(´CampoNome;CampoData´,VarArrayOf([Nome,Data]),[]) then...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)