Fórum Consulta SQL #262008
14/12/2004
0
Agradeço desde já
_celo
Curtir tópico
+ 0Posts
15/12/2004
Peninha
No evento OnkeyUp do seu edit use seguinte código:
DmBasedados.IBTab_Cliente.Locate(´Nome_cliente´,varArrayOf([EdtPesquisa.Text]),[LopartialKey])
No evento OnkeyDown do seu form declare este código:
If (Key = VK_RETURN) Then Perform(WM_NEXTDLGCTL,0,0);
Coloque na clausula Uses da Unit ´DB´ que é para vc poder usar o lopartialkey.
No primeiro código peguei um código completo do meu programa, é so vc adptar para o seu.
Qualquer coisa me envie um e-mail que eu te ajudo.
Erivan.
Gostei + 0
15/12/2004
Emersonclubedelphi
DmBasedados.IBTab_Cliente.Locate(´Nome_cliente´,varArrayOf([EdtPesquisa.Text]),[LopartialKey])
If (Key = VK_RETURN) Then Perform(WM_NEXTDLGCTL,0,0);
Muito embora esta resposta esteja correta, não acho muito viável você fazer isso, pois terá um queda muito grande de performance na rede como um todo, principalmente se for banco de dados muito grande, o correto é vc usar sql e fazer uma pesquisar exata.
t+
Gostei + 0
15/12/2004
_celo
SQLTable1: Cannot Perform this operation on a closed dataset.
Emerson como é que faço por SQL?
Gostei + 0
15/12/2004
Gandalf.nho
Gostei + 0
15/12/2004
_celo
Gostei + 0
15/12/2004
Gandalf.nho
ou
SQLTable1.Open;
Gostei + 0
15/12/2004
_celo
Shift: TShiftState);
begin
DM.SQLTable1.Locate(´Nome´,varArrayof([Edit1.Text]),[LopartialKey])
end;
procedure TForm2.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If (Key = VK_RETURN) Then
Perform(WM_NEXTDLGCTL,0,0);
end;
procedure TForm2.Edit1Change(Sender: TObject);
begin
Consulta.Locate(´Nome´, Edit1.Text, [loCaseInsensitive, loPartialKey]);
end;
Onde Colocaria o SQLTable1.open ?
Gostei + 0
15/12/2004
Paulo_amorim
Antes de qualquer desses eventos. Talvez no FormShow...
Ou então, nesses eventos mesmo, com o código
if not Table.Active then begin try Table.Open; except ShowMessage(´Oops´); end; end;
Gostei + 0
15/12/2004
Peninha
Obrigado, Erivan.
Gostei + 0
16/12/2004
_celo
No evento OnKeyUp coloquei esse procedimento:
begin
if not DM.SQLTable1.Active then
begin
try
DM.SQLTable1.Open;
DM.SQLTable1.Locate(´Nome´,varArrayof([EdtConsultaNome.Text]),[LopartialKey]);
except
ShowMessage(´Oops´);
end;
end;
end;
No evento OnKeyDown do form coloquei esse procedimento:
begin
If (Key = VK_RETURN) Then
Perform(WM_NEXTDLGCTL,0,0);
end;
end.
Mas na execucao na hora da que digito no Edt nao aparece nada. Estou ligando o DBGrid no DataSource, O DataSouce no ClienteDataSet o ClienteDataSet no DataSetProvider e o DataSetProviner no SQLQuery
O que tem de errado? Agradeço desde já Marcelo :(
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)