pesquisa de cliente no form cadastro de cliente
No form cadastro de cliente gostaria de colocar um componente ao qual quando o usuario clicar nele vai abrir uma tela de pesquisa onde a medida q se digita o nome do cliente vai os nomes q se inicia com as letras digitadas e apos o usuario selecionar o registro vai aparecer todos os dados deste cliente no form para q possa ser editado, excluido etc.
alguém tem alguma dica como posso fazer isto ou pelo menos qual componente devo usar. desde já agradeço.
alguém tem alguma dica como posso fazer isto ou pelo menos qual componente devo usar. desde já agradeço.
Murilo
Curtidas 0
Respostas
Lucas Silva
29/12/2003
Usa um DBGrid.....
e para aparecer todos os nomes com a letra que o usuario digitar é só fazer uma consulta Sql usando like, e colocar esta consulta no evento KeyPress (ou onChange) do componente que o usuario vai digitar..( te aconselho a usar um edit)
Espero Ter Ajudado!
Lucas!
e para aparecer todos os nomes com a letra que o usuario digitar é só fazer uma consulta Sql usando like, e colocar esta consulta no evento KeyPress (ou onChange) do componente que o usuario vai digitar..( te aconselho a usar um edit)
Espero Ter Ajudado!
Lucas!
GOSTEI 0
Murilo
29/12/2003
Obrigado pela ajuda Lucas :D
GOSTEI 0
Wolverine
29/12/2003
:lol:
Amigo no form que vc faz o cadastro inclua um botao, nele insira este codigo (onclick!!!) abaixo.
procedure TFormClientes.ButtonProcurarClick(Sender: TObject);
var
Nome: String;
begin
Nome := ´´;
if InputQuery(´Procurar´, ´Razão Social/Nome´, Nome) then
if not TableClientes.Locate(´RazaoSocial´, Nome,
[loCaseInsensitive, loPartialKey]) then
ShowMessage(´Razão Social/Nome não encontrado!´);
end;
ou vc pode fazer oq o amigo Lucas Alves Silva disse, porem tem outro metodo:
inclua um edit e um button
no no evento KeyPress (ou onChange) do button digite:
(lembro q deve haver um Query e o dbgrid)
query.close;
query.sql.clear;
Query.SQL.Add(´select * from clientes where RazaoSocial >= ´´+Edit.Text+´´´);
query.open;
lembro tb q se os cliente foram cadastrados com Caps Lock teram q ser pesquisados em caps lock
qquer coisa, e-mail : marcioviniciusdias@bol.com.br
Amigo no form que vc faz o cadastro inclua um botao, nele insira este codigo (onclick!!!) abaixo.
procedure TFormClientes.ButtonProcurarClick(Sender: TObject);
var
Nome: String;
begin
Nome := ´´;
if InputQuery(´Procurar´, ´Razão Social/Nome´, Nome) then
if not TableClientes.Locate(´RazaoSocial´, Nome,
[loCaseInsensitive, loPartialKey]) then
ShowMessage(´Razão Social/Nome não encontrado!´);
end;
ou vc pode fazer oq o amigo Lucas Alves Silva disse, porem tem outro metodo:
inclua um edit e um button
no no evento KeyPress (ou onChange) do button digite:
(lembro q deve haver um Query e o dbgrid)
query.close;
query.sql.clear;
Query.SQL.Add(´select * from clientes where RazaoSocial >= ´´+Edit.Text+´´´);
query.open;
lembro tb q se os cliente foram cadastrados com Caps Lock teram q ser pesquisados em caps lock
qquer coisa, e-mail : marcioviniciusdias@bol.com.br
GOSTEI 0
Wolverine
29/12/2003
:lol:
Amigo no form que vc faz o cadastro inclua um botao, nele insira este codigo (onclick!!!) abaixo.
procedure TFormClientes.ButtonProcurarClick(Sender: TObject);
var
Nome: String;
begin
Nome := ´´;
if InputQuery(´Procurar´, ´Razão Social/Nome´, Nome) then
if not TableClientes.Locate(´RazaoSocial´, Nome,
[loCaseInsensitive, loPartialKey]) then
ShowMessage(´Razão Social/Nome não encontrado!´);
end;
ou vc pode fazer oq o amigo Lucas Alves Silva disse, porem tem outro metodo:
inclua um edit no no evento KeyPress (ou onChange) do edit digite:
(lembro q deve haver um Query e o dbgrid)
query.close;
query.sql.clear;
Query.SQL.Add(´select * from clientes where RazaoSocial >= ´´+Edit.Text+´´´);
query.open;
lembro tb q se os cliente foram cadastrados com Caps Lock teram q ser pesquisados em caps lock
qquer coisa, e-mail : marcioviniciusdias@bol.com.br
GOSTEI 0
Murilo
29/12/2003
Me interessei pela sua primeira opção q acredito não precisar usar um dbgrid ao qual não sou muito fã pois acredito q deixa o form muito carregado e tb pelo q entindi esta não precisa digitar em caps lock mesmo se tenha sido cadastrado em caps lock porem só tem um problema o banco q estou usando eh o interbase ao qual não aceita comandos do tipo boleano como o loCaseInsensitive e o loPartialKey, vc sabe q comandos posso usar para substituir estes dois?
GOSTEI 0
Wagner
29/12/2003
Cara eu uso dessa forma para pesquisa simples, na minha opnião é bem mais pratica.
No formulário cadastro de cliente crie um botão pesquisa que direcione para outro formulario (tipo f_pesquisa.showmodal) no formulario pesquisa (diminua o formulario para atras voce veja o formulario cliente) coloque um edit e um botao no evento onkeyup do edit digite:
procedure Form.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Form_clientes.Tb_cliente.findnearest([edit1.text]);
dessa forma a medida que voce for digitando e ele pesquisando e mudando atras ate para no nome que voce deseja
Espero ter ajudado
No formulário cadastro de cliente crie um botão pesquisa que direcione para outro formulario (tipo f_pesquisa.showmodal) no formulario pesquisa (diminua o formulario para atras voce veja o formulario cliente) coloque um edit e um botao no evento onkeyup do edit digite:
procedure Form.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Form_clientes.Tb_cliente.findnearest([edit1.text]);
dessa forma a medida que voce for digitando e ele pesquisando e mudando atras ate para no nome que voce deseja
Espero ter ajudado
GOSTEI 0
Murilo
29/12/2003
Estou usando o interbase q não aceita funções do tipo boleana como findnearst porem com sua dica consegui implementar uma função com o locate q ficou blz, obrigado pela ajuda.
GOSTEI 0