Problema com pesquisa

08/07/2004

0

Estou com o seguinte problema... tenho um form de cadastro de funcionários e nesse form tem um botão para chamar um form de pesquisa de funcionário, esse form de pesquisa tem um edit e um grid, conforme vou digitando no edit ele já vai buscando, até aí tudo blz.
O que não estou conseguindo fazer, é após achar o funcionário q quero manipular, fechar esse form de pesquisa e fazer com q esse funcionário pesquisado vá para o form de cadastro (o 1° aberto), já fiz isso em sistema q usava dbedit, aí dava um findkey na tabela e já era, qdo fechava a pesquisa o form de cadastro já estava no registro selecionado, mas nesse sistema preciso usar somente edit ao invés de dbedit.
Alguém tem alguma dica ou sugestão?


Marco

Marco

Responder

Posts

08/07/2004

Omar Cury

essa pergunta é dificil explicar escrevendo, mas vamos lá

há várias formas de se fazer isso...

ex. usando 2 tabelas (tabPesquisa e tabCliente)
Antes de vc fechar o formulario de pesquisa(depois que vc achou o cliente) vc tem que localizar na tabClientes a chave primária da tabela ´tabPesquisa´ atraves de um select(com parametros), locate ou usando o FindKey.

ex. do Locate
tabClientes.locate(´Codigo´,TabPesquisaCodigo.Value,[]);


Se nao entendeu, eu tento melhorar na próxima... :wink:


Responder

09/07/2004

J_gus

Seguinte.... eu realizo buscas de outra maneira que acho mais facil....
ve se te serve...

primeiro crie um form onde vc colocara um DBGrid, coloque nesse form uma query e uma DataSource. Ligue o DBGrid a query e o DataSource
adicione tambem a esse form dois BitBtn. Sete a propriedade Kind de um como bkOk e o outro como bkCancel.

agora no evento onKeyPress do edit que vc vai realizar a busca no seu formulario principal carregue a query do form que vc criou com o comando SQL tipo assim:

Form1 := TForm1.Create(Self);
Form1.Query1.SQL.Add(´blablablablala´);

depois abra a query.. faca a verificacao se ela trouxe algum registro. Se achar coloque assim:

Begin
if Form1.showmodal = MrOk then
Begin
QBusca.Close;
QBusca.SQL.Clear;
QBusca.SQL.Add(´SELECT * FROM MOTIVO_DEVOLUCAO WHERE COD_MDV = ´ + IntToStr(F_Busca.QBuscager.FieldByName(´CODIGO´).AsInteger) );
QBusca.Prepare;
QBusca.Open;

deste modo ele vai carregar o registro que foi encontrado e selecionado em uma query no seu proprio form ai eh só mandar os registros para o Edit.

Não sei se ficou bem claro.. quelquer dúvida entre em contato ok???


Responder

09/07/2004

Beppe

Se o form é exibido com ShowModal, faça isso após sua exibição:

edFuncName.Text := tabFuncs.FieldByName(´NOME´).AsString;



Responder

12/07/2004

Adeno

Você quer passar os dados do funcionário pesquisado para Edits?
Bom se for essa idéia, eu vou te dar uma idéia, é o seguinte:
- Depois de filtrar ai da maneira que vc quiser, ou filter, ou query vc vai ter seu dataset
- Nesse form que vc ta aperta Alt+F11, e escolhe a Unit do Form que vc quer enviar os dados.

O que vai acontecer?
Agora vc terá acesso aos itens do outro form, então quando vc estiver no seu Form2->Unit2 poderá mandar seus dados para o Form1->Unit1.
Exemplo:

Form1.Edit1.Text:=Edit1.Text;

Vc vai mandar um texto do Edit1 do seu Form2 para o Edit1 do Form1, não sei se era bem isso que vc tava kerendo....

Falow


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar