Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Localizar Registro e Mostrar Resultados


Sandrelle

Question

Oi Bom Dia!

eu novamente... já fiz uma pesquisa o forum e não achei algo parecido a respeito...

São duas situações, porém parecidas...

1 - Tenho um form de localizar registro... faço a pesquisa, encontro o resultado, mas não sei como jogar o resultado na outra tela. Isso na tabela que sei que tem apenas (uma) informação com este nome.

2 - Em uma outra tabela, outro form de localizar , a pesquisa deve ser feita com base no parametro escolhido pelo usuario pode ser o nome, o setor ou a data e nesse caso terá mais de um resultado. Gostaria de quando encontrado aparecessem em um DBGrid e ao selecionar o registro fosse jogado na outra tela para ser exibido completo. Tem como isso ser feito?

Estou usando DBEdits e AdoQuerys...

Desculpe se me atrapalhei sou iniciante, mas tenho muita vontade de aprender.... Obrigada!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Sandrelle, é o seguinte, vamos ver se resolvemos os dois ítens de uma só vez:

Utilizo um RadioGroup para que dados serão filtrados(no meu caso - Nome - CPF - RG) (RgProcura)

Utilizo um Edit para Digitar (EdtPes)

Um DBGrid para mostrar os Dados na tela

Uma Query que aqui chamarei de ADOCli e um DataSource ligado no DBGrid

Este é um código que utilizo para fazer a filtragem de acordo com o que é digitado e foi selecionado em um RADIOGROUP

eu coloco este código no ONChange do EDIT

procedure TForm.LocReg(Sender: TObject);

begin

Case RgProcura.ItemIndex Of

0:Begin

AdoCli.Close;

AdoCli.SQL.Clear;

AdoCli.SQL.Add('Select * From CadCli ');

AdoCli.SQL.Add('Where Cli_Nom ' + ' Like ' + QuotedStr(EdtPes.Text +'%'));

AdoCli.ExecSQL;

AdoCli.Active:= True;

End;

1:Begin

AdoCli.Close;

AdoCli.SQL.Clear;

AdoCli.SQL.Add('Select * From CadCli ');

AdoCli.SQL.Add('Where Cli_CPF ' + ' Like ' + QuotedStr(EdtPes.Text +'%'));

AdoCli.ExecSQL;

AdoCli.Active:= True;

End;

2:Begin

AdoCli.Close;

AdoCli.SQL.Clear;

AdoCli.SQL.Add('Select * From CadCli ');

AdoCli.SQL.Add('Where Cli_RG ' + ' Like ' + QuotedStr(EdtPes.Text +'%'));

AdoCli.ExecSQL;

AdoCli.Active:= True;

End;

End;

end;

Quando mostrar o resultado e você quizer mandar ele para o outro form (Form de Cadastro) eu utilizo o ONDblClick do Grid e fecho o form quando dou dois cliques nele, assim o ítem será mostrado no Form de Cadastro - acontece que como você utiliza o DB, quando um for fechar tem que fazer um locate do ítem que você selecionou na tabela que você utiliza para mostrar no cadastro de cliente e dai sim fechar...

Como você disse que já sabe como filtrar apenas o ítem desejado, fica fácil ... faça isso no OnDblClick do DBGrid

Espero que tenha ajudado, ou te dado uma idéia...

Abraços

Eduardo

Link to comment
Share on other sites

  • 0

Bom dia Sandrelle.

1 - Tenho um form de localizar registro... faço a pesquisa, encontro o resultado, mas não sei como jogar o resultado na outra tela. Isso na tabela que sei que tem apenas (uma) informação com este nome.

R. Eu utilizo os componente do "interbase", (tibquery, tibdataset). Digamos que você tem o Form1 o qual deve receber os dados do Form2 "pesquisa". Digamos que o resultado apresentado no Form2 e mostrado num "Grid", quando você der Dois cliques no registro listado no "grid" o sistema deve pegar o valor da coluna "zero" (primeira coluna do grid) deste registro e jogalo para o "campo" do Form1, localizar o registro selecionado no Form1 e fechar o Form2.

[Form2]

//Este código pega o valor do registro selecionado da primeira coluna do grid e joga no campo (edit1.text) do Form1, executa o processo para localizar o registro no Form1 e fecha o Form2.

//No evento "dois cliques" do grid você insere:

Form1.edit1.text := grid1.fiels[0].text;

Form1.LocalizaCadastroCliente;

Close;

[Form1]

//Tenho um processo (procedure) para localizar o registro desejado no Form1, digamos que o nome deste processo é: "LocalizaCadastroCliente" sua estrutura seria:

begin

tibdataset.close;

tibdataset.slq.clear;

tibdataset.slq.add('select * from TABELACLIENTE where NM_CLIENTE = '+quotedstr(edit1.text)+'');

tibdataset.open;

end;

2 - Em uma outra tabela, outro form de localizar , a pesquisa deve ser feita com base no parametro escolhido pelo usuario pode ser o nome, o setor ou a data e nesse caso terá mais de um resultado. Gostaria de quando encontrado aparecessem em um DBGrid e ao selecionar o registro fosse jogado na outra tela para ser exibido completo. Tem como isso ser feito?

R. Sim, o mesmo método utilizado acima serve para este caso. A sua duvida e somente com relação a transportar o resultado de um form para outro ou também em como realizar a pesquisa com mais de um parâmetro?

Link to comment
Share on other sites

  • 0

Oie Bom dia!

Muito Obrigada pela ajuda!

Oi pimpocvl007!

Eu não consegui criar o processo(procedure), deu erro.. poderia me explicar ?

Acho que eu que não soube criar...

é a de jogar pra outra tela... :D

Oi Eduardo!

Obrigada pela ideia, modifiquei algumas coisas no meu form e ficou bem legal... mas ainda me falta uma coisinha

você poderia me dizer como eu faria oLocate? :D

Edited by Sandrelle
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...