none
Relatório com filtro de intervalo entre duas datas. RRS feed

  • Pergunta

  • Boa tarde pessoal.

    Estou tentando fazer um relatório com filtro, porem nunca fiz relatório com filtro, vi algumas coisas na net e estou tentando passar as duas datas.

    As duas datas vem de dois datetimerpicker de um outro Form, ou seja, quando clico no botão para abrir o form com o relatorio, gostaria ja de filtrar com o intervalo entre essas duas datas.

    Estou tentando passar a datainicial e a datafinal, porem da um erro de sobrecarga.

    Antes, eu chamava a procedure, normal e carregava tudo no relatório, porem agora tentando passar os dois parâmetros, não vai.

    private void frmRelatorioRenovacao_Load(object sender, EventArgs e)
            {
                try
                {
                    this.sp_relatorioTableAdapter.Fill(this.dbseguradoraDataSet1.sp_relatorio, DataInicio, DataFim);
                    this.reportViewer1.RefreshReport();
                }
                catch
                {
                    this.reportViewer1.RefreshReport();
                }
                
            }

    A procedure de consulta por filtro com datas. Ela funciona normal. Está correta.

    create proc sp_relatorio
    @datainicial datetime,
    @datafinal datetime
    as
    select r.finalvigencia as Renovacao, c.nome as Nome,  r.tiposeguro as TipoSeguro, s.nome as Seguradora, r.detalhes as Detalhes
    from tabCliente as C
    join tabRenovacao as R on c.idcliente = r.idcliente
    join tabSeguradora as S on r.idseguradora = s.idseguradora
    where r.finalvigencia between @datainicial and @datafinal
    order by r.finalvigencia asc

    O que eu não sei fazer é como clicar no botão para chamar a tela do relatorio e passar as duas datas.

    Alguém pode me ajudar?

    private void btnRelatorio_Click(object sender, EventArgs e)
            {
                frmRelatorioRenovacao frmrelatoriorenovacao = new frmRelatorioRenovacao();
                frmrelatoriorenovacao.DataInicio = this.dtpDataInicio.Value;
                frmrelatoriorenovacao.DataFim = this.dtpDataFim.Value;
                frmrelatoriorenovacao.ShowDialog();
            }


    quarta-feira, 16 de outubro de 2019 18:54