Parametro
Pessoal to com um probleminha aqui em um form que chama um relatorio tipo assim:
eu tenho dois relatorio provindo de um unico form que são relatorios de Orçamentos e relatorios de Pedidos os mesmos no sistema são definidos pelas letras (O e P)
gostaria de quando eu selecionar no RadioGroup um parametro que identificace cada relatorio... Estou usando da seguinte forma mas não esta dando certo ele não m avisa se eu abrir um relatorio do tipo (P) no lugar errado...
estou usando o fortes report
eu tenho dois relatorio provindo de um unico form que são relatorios de Orçamentos e relatorios de Pedidos os mesmos no sistema são definidos pelas letras (O e P)
gostaria de quando eu selecionar no RadioGroup um parametro que identificace cada relatorio... Estou usando da seguinte forma mas não esta dando certo ele não m avisa se eu abrir um relatorio do tipo (P) no lugar errado...
estou usando o fortes report
Begin //Relatorio de Orçamento if radio.itemindex = 0 then begin FrmImp_Pedido:=TFrmImp_Pedido.create(Self); FrmImp_Pedido.orcamento.Preview; FrmImp_Pedido.Destroy; end; If FrmOrcamento.ADO_Orcamento.FieldByName(´TIPO´).AsString = ´P´ then begin showmessage(´O relatorio não é um relatório de Orçamento!´); exit; end else //Relatorio de Pedidos if radio.itemindex = 1 then begin FrmImp_Pedido:=TFrmImp_Pedido.create(Self); FrmImp_Pedido.Pedidos.Preview; // FrmImp_Pedido.AreaImpressao.Preview; FrmImp_Pedido.Destroy; end; end;
Tchucky
Curtidas 0
Respostas
Edilcimar
28/06/2008
Faça dentro desta estrututa
If RadioGroup1.ItemIndex = 0 then
begin
fala algo
end
Else If RadioGroup1.ItemIndex = 1 then
begin
faça outra coisa
end;
Quanto ao teu tipo ´P´, onde você quer ser avisado?
Se for no ItemIndex = 0 então coloque antes ou depois do ´faça algo´, se for no ItemIndex = 1 então coloque antes ou depois do ´faça outra coisa´, porém se quiser ser avisado de qualquer maneira então coloque antes do ItemIndex = 0 ou depois do último end
If RadioGroup1.ItemIndex = 0 then
begin
fala algo
end
Else If RadioGroup1.ItemIndex = 1 then
begin
faça outra coisa
end;
Quanto ao teu tipo ´P´, onde você quer ser avisado?
Se for no ItemIndex = 0 então coloque antes ou depois do ´faça algo´, se for no ItemIndex = 1 então coloque antes ou depois do ´faça outra coisa´, porém se quiser ser avisado de qualquer maneira então coloque antes do ItemIndex = 0 ou depois do último end
GOSTEI 0
Paulo
28/06/2008
Sua chamada a query está fora de tudo, por isso não funciona. O Edilcimar te disse como fazer para chamar sua variável P ou O. Pode também usar o case assim(Como o colega falou esta certo, estou apenas te dando outra opção).
Case radio.itemindex of
0:begin
Aqui coloca todo o seu código para a opção 0
Caso seja P ou O faça aqui
end;
1:begin
Aqui coloca todo o seu código para a opção 1
Caso seja P ou O faça aqui
end;
end;//Fim do case
GOSTEI 0
Emerson Nascimento
28/06/2008
não entendi o porquê do radiogroup....
se o tipo do documento já diz qual lay-out deve ser utilizado, porque preciso selecionar se é (P)edido ou (O)rçamento e avaliar se eu escolhi o tipo de relatório de acordo com o registro posicionado???
Não poderia ser simplesmente assim:
se o tipo do documento já diz qual lay-out deve ser utilizado, porque preciso selecionar se é (P)edido ou (O)rçamento e avaliar se eu escolhi o tipo de relatório de acordo com o registro posicionado???
Não poderia ser simplesmente assim:
Begin // crio o Form de impressão FrmImp_Pedido := TFrmImp_Pedido.Create(Self); if FrmOrcamento.ADO_Orcamento.FieldByName(´TIPO´).AsString = ´P´ then //Relatorio de Pedidos FrmImp_Pedido.Pedidos.Preview; else //Relatorio de Orçamento FrmImp_Pedido.Orcamento.Preview; FrmImp_Pedido.Destroy; end;
GOSTEI 0
Tchucky
28/06/2008
OLá emerson.en eu uso radiogroup pq tenho 7 tipo de relatorio a ser selecionado neste form...
fiz da forma q o Paulo falou usando o case e ta tudo blz agora
fiz da forma q o Paulo falou usando o case e ta tudo blz agora
GOSTEI 0