ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Consulta

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
jcfranco
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 26 de Abril de 2004
Mensagens: 151

MensagemEnviada: Qui Out 05, 2006 7:21 am    Assunto: Consulta Responder com Citação

Bom dia, pessoal

Como faço para criar um único form de consulta que pode ser usado por todo o sistema, apenas passando alguns parametros?

Grato,

Júlio C. Franco
_________________
Julio C. Franco
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
perdiga
Novato
Novato


Registrado: Quarta-Feira, 8 de Março de 2006
Mensagens: 86

MensagemEnviada: Qui Out 05, 2006 8:40 am    Assunto: Consulta Responder com Citação

amigo, vc pode criar um metodo publico nesse seu form, com uma query e datasource, e quando for criar esse form você passa para o metodo a consulta ex:

procedure consulta(query:String); esse é o metodo ai quando for criar vc chama esse metodo assim
form.consulta(select * from tabela) e pronto, vc tmb pode criar algum tipo de variavel global informando algum dado que possa ser testado nesse proprio form passando a consulta correspondente.... tem diversas formas amigo......

espero que tenha te dado uma luz
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
hyper_r
Novato
Novato


Registrado: Domingo, 21 de Novembro de 2004
Mensagens: 59

MensagemEnviada: Qui Out 05, 2006 9:38 am    Assunto: Consulta Responder com Citação

Vc pode criar um método público no form de consulta... E criar o formulário a partir do mesmo.. Por exemplo:

Public
procedure ExecuteConsulta(Param1, Param2 : Integer);

....
procedure FrmConsulta.ExecuteConsulta(Param1, Param2 : Integer);
begin
FrmConsulta := TFrmConsulta.Create(Application);
with FrmConsulta do
begin
Qry.Close;
Qry.ParamByName(\'COD\').AsIntger := Param1;
Qry.ParamByName(\'IDADE\').AsIntger := Param2;
Qry.Open;
showmodal;
end;
end;

daí na chamada dele de qualquer outro formulário, é só chamar o método e passar os parâmetros... Ex.:

FrmConsulta.ExecuteConsulta(
QryUSUARIOS.FieldByname(\'COD_USUARIO\').AsInteger, QryUSUARIOS.FieldByname(\'IDADE\').AsInteger);

[Editado em 5/10/2006 por hyper_r]
_________________
<legend> Cuide bem de seu filhos, pois eles que vão escolher seu AZILO!!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jcfranco
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 26 de Abril de 2004
Mensagens: 151

MensagemEnviada: Qui Out 05, 2006 12:30 pm    Assunto: Consulta Responder com Citação

Pessoal, obrigado pelas respostas...
Até entendi a lógica, mas tenho algumas duvidas...

No meu caso tenho os forms de cadastros (ex: clientes, cidades, produtos) cada form desse possui um botao consulta que deverá chamar um outro form (que receberá os parametros p/ a consulta e mostrará num dbgrid) e apos obter o resultado, qdo fechar essa tela de consulta mandar o resultado p/ o form que o chamou.

Entao, como mandar o resultado da consulta q esta no grid para o form que chamou o form de consulta?

Lembrando que gostoria de ter somente uma form de consulta para todos os forms de cadastro.

Entenderam?



[Editado em 5/10/2006 por jcfranco]
_________________
Julio C. Franco
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
hyper_r
Novato
Novato


Registrado: Domingo, 21 de Novembro de 2004
Mensagens: 59

MensagemEnviada: Sex Out 06, 2006 10:44 am    Assunto: Consulta Responder com Citação

Não sei se entendi...
Mas, caso vc esteja chamando o formulário de consulta atravéz do showmodal, é só vc pegar o modalresult do mesmo, Ex.:


{Qndo o form é executado com os parâmetros, no formulário de consulta vc pode setar num botão o modalresult, por exemp: FrmConsultaModalResult := MrCancel ou FrmConsultaModalResult := MrOk}

FrmConsulta.ExecuteConsulta(PrimerioParam, SegundoParam);

// Depois é só fazer a condicional para passar
//os resultados obtidos no Form de Consulta..

if FrmConsulta.ModalResult = MrOk then
begin
FormqChamou.Resultado := FrmConsulta.Resultado;
FormqChamou.CodCliente := FrmConsulta.Qry.FieldByName(\'CODCLIENTE\').AsString;
end;
_________________
<legend> Cuide bem de seu filhos, pois eles que vão escolher seu AZILO!!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB