如何将“月”和“年”仅参数从datetimepicker传递到水晶报表?

时间:2015-05-28 07:12:31

标签: vb.net crystal-reports

早上好,我正在努力解决这个Crystal报告问题,我的报告中有公式:

cstr(monthname(month({kwitansi1.tgl_kwitansi})))+" - " +cstr(year({kwitansi1.tgl_kwitansi}),0)

它正在工作并显示我想要的数据,如下所示:

May-2015          $1000
June-2015         $600
July-2015         $250
August-2015       $1500

我有2个参数,“?month1”和“?Month2”,当我预览它时,表示字段名称未知。

这些参数适用于datetimepicker1和datetimepicker2。 所以基本上我想展示,例如: 如果我点击datetimepicker1然后填写一些随机日期,但月份是2015年5月然后我点击datetimepicker2也填充它随机日期,但月份是2015年8月,然后我点击“打印”按钮,水晶报告应该显示那些我想要的数据。

我在vb.form上使用它将参数传递给Crystal Report。

 objrepdoc = New CRLaporanPendapatanPerbulan
        objrepdoc.SetParameterValue("month1", Format(FormCetakLaporanPendapatan.datetimepicker1.Value, "MMMM-YYYY"))
        objrepdoc.SetParameterValue("month2", Format(FormCetakLaporanPendapatan.datetimepicker2.Value, "MMMM-YYYY"))
        objrepdoc.RecordSelectionFormula = "{kwitansi1.tgl_kwitansi} >= #" & Format(FormCetakLaporanPendapatan.datetimepicker1.Value, "MMMM-YYYY") & "# And {kwitansi1.tgl_kwitansi} <= #" & Format(FormCetakLaporanPendapatan.datetimepicker2.Value, "MMMM-YYYY") & "#"

我知道这些代码是错误的,:(因为如果我选择任何一个月,水晶报告会显示已保存在date(kwitansi1.tgl_kwitansi)字段中的所有数据。我想要的是CR是仅显示VB.Form使用datetimepicker1和datetimepicker2

发送的指定数据

1 个答案:

答案 0 :(得分:0)

由于没有人回答我的问题,我会回答这个问题以供其他有同样问题的人参考。

所以,简单的部分实际上是:

  • 制作2个参数,首先是起始参数,第二个是结束参数,基本上我们将制作一个“中间”代码。
  • 之后,右键单击打印区域(随处),然后单击报告&gt;选择公式&gt;记录&gt;对话框出现&gt;复制粘贴此{tableA.date_table} in {?parameter1} to {?parameter2}
  • 保存他们

在Windows窗体上使用:

  • 制作2个datetimepicker
  • 在表格上复制粘贴:

Dim objrepdoc As New ReportDocument

 `objrepdoc = New CrystalReport1
        objrepdoc.SetParameterValue("parameter1", Format(Form1.DTdate1.Value, "yyyy-MM-dd"))
        objrepdoc.SetParameterValue("parameter2", Format(Form1.DTdate2.Value, "yyyy-MM-dd"))
        objrepdoc.RecordSelectionFormula = "{tableA.date_table} >= #" & Format(Form1.DTdate1.Value, "yyyy-MM-dd") & "# And {tableA.date_table} <= #" & Format(Form1.DTdate2.Value, "yyyy-MM-dd") & "#"`

注意:datetimepicker也可以显示日期,您可以修改它,以便datetimepicker只显示月份和年份。