 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
jcfranco Aprendiz

Registrado: Segunda-Feira, 26 de Abril de 2004 Mensagens: 151
|
Enviada: Qui Out 05, 2006 7:21 am Assunto: Consulta |
|
|
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 |
|
 |
perdiga Novato

Registrado: Quarta-Feira, 8 de Março de 2006 Mensagens: 86
|
Enviada: Qui Out 05, 2006 8:40 am Assunto: Consulta |
|
|
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 |
|
 |
hyper_r Novato

Registrado: Domingo, 21 de Novembro de 2004 Mensagens: 59
|
Enviada: Qui Out 05, 2006 9:38 am Assunto: Consulta |
|
|
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 |
|
 |
jcfranco Aprendiz

Registrado: Segunda-Feira, 26 de Abril de 2004 Mensagens: 151
|
Enviada: Qui Out 05, 2006 12:30 pm Assunto: Consulta |
|
|
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 |
|
 |
hyper_r Novato

Registrado: Domingo, 21 de Novembro de 2004 Mensagens: 59
|
Enviada: Sex Out 06, 2006 10:44 am Assunto: Consulta |
|
|
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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|