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 

No value for parameter Codigo3

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


Registrado: Terça-Feira, 20 de Mai de 2008
Mensagens: 40

MensagemEnviada: Dom Jul 31, 2011 5:43 pm    Assunto: No value for parameter Codigo3 Responder com Citação

Boa tarde,
Mais uma vez, dependo do forum pra continuar a desenvolver.
Fiz um relatorio filtrando por data e por cliente, funcionou legal, mas acrescentei mais um filtro, dai surgiu erro.

procedure TFormChamaRelAgendaPorData.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ModuleRepresentantes.ClientDataSetClientes.Close;
ModuleRepresentantes.ClientDataSetTipoVisitas.Close;
end;

procedure TFormChamaRelAgendaPorData.SpeedButtonVisualizarClick(
Sender: TObject);
begin
FormRelatorioAgendaPorData := TFormRelatorioAgendaPorData.Create(Application);
with FormRelatorioAgendaPorData do
begin
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('data1').asDate := StrToDate(DateEditInicial.Text);
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('data2').asDate := StrToDate(DateEditFinal.Text);

////// abaixo é o filtro de CLIENTES

if ChkCliente.Checked then begin // foi colocado um checkbox para seleção de apenas um cliente

if StrToIntDef(DBLookupComboBoxClientes.ListSource.DataSet.FieldByName('Codigo').AsString, 0) <> 0 then begin
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo1').AsInteger := DBLookupComboBoxClientes.KeyValue;
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo2').AsInteger := DBLookupComboBoxClientes.KeyValue;
end else begin
Application.MessageBox('Selecione um cliente', 'Relatório', MB_OK);
Exit;
end;
end else begin
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo1').AsInteger := 0;
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo2').AsInteger := 99999;
end;

ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Close;
ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Open;

////// abaixo é o filtro do TIPO DE VISITAS

if ChkTipoVisita.Checked then begin // foi colocado um checkbox para seleção de apenas um tipo de visita

if StrToIntDef(DBLookupComboBoxTipoVisita.ListSource.DataSet.FieldByName('Codigo').AsString, 0) <> 0 then begin
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo3').AsInteger := DBLookupComboBoxTipoVisita.KeyValue;
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo4').AsInteger := DBLookupComboBoxTipoVisita.KeyValue;
end else begin
Application.MessageBox('Selecione um tipo de visita', 'Relatório', MB_OK);
Exit;
end;
end else begin
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo3').AsInteger := 0;
ModuleRepresentantes.SQLDataSetRelAgendaVisitas.ParamByName('codigo4').AsInteger := 99999;
end;

ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Close;
ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Open;

FormRelatorioAgendaPorData.RLReport1.PreviewModal;

end;
end;

Grato pelo apoio
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Dom Jul 31, 2011 6:06 pm    Assunto: Responder com Citação

Experimente excluir as linhas de código abaixo do meio da rotina, mantendo-as apenas no final antes do PreviewModal, pois o ClientDataSet deve ser aberto somente depois que todos os parâmetros foram atribuidos:

Código:
ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Close;
ModuleRepresentantes.ClientDataSetRelAgendaVisitas.Open;


Espero que seja útil.

__________________
Assinatura: Salas comerciais em Guarulhos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
faustoalencar
Novato
Novato


Registrado: Terça-Feira, 20 de Mai de 2008
Mensagens: 40

MensagemEnviada: Ter Ago 02, 2011 1:00 pm    Assunto: Responder com Citação

Boa tarde,

Feito o procedimento sugerido pelo Imex e, problema resolvido.

Grato
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
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