Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Localizar Registro e Mostrar Resultados


Sandrelle

Pergunta

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 para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

Editado por Sandrelle
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...