【机房重构】——VS制作报表+日期格式转化

VS制作报表

        制作报表这块,VS相对当初的VB就容易多了,VS不需要再用第三方软件制作报表,它本身就可以。

方法

1、在UI新建数据集
【机房重构】——VS制作报表+日期格式转化_第1张图片

2、添加——TableAdapter(T)

【机房重构】——VS制作报表+日期格式转化_第2张图片
3、点击新建连接——同上面第七步,填写自己的信息。——测试——确定——下一步
【机房重构】——VS制作报表+日期格式转化_第3张图片

4、选择SQL语句——下一步
【机房重构】——VS制作报表+日期格式转化_第4张图片
5、写SQL语句
如:
6、测试:点击查询生成器——执行查询——输入值——确定。若有数据,则语句输入成功。
【机房重构】——VS制作报表+日期格式转化_第5张图片
查询成功:
【机房重构】——VS制作报表+日期格式转化_第6张图片
7、确定、下一步、下一步、完成即可。


8、然后新建窗体——添加ReprotViewer控件
        【机房重构】——VS制作报表+日期格式转化_第7张图片
9、点击控件的右上角小三角,选择设计新报表
【机房重构】——VS制作报表+日期格式转化_第8张图片
10、数据集属性
【机房重构】——VS制作报表+日期格式转化_第9张图片


11、下一步、然后是根据自己的需要选择合适的格式,若只需要显示各行的值,则将所需要显示的字段加到值得那块。如下图。然后下一步:
【机房重构】——VS制作报表+日期格式转化_第10张图片
12、然后依然是个性化设置,选择自己喜欢的格式即可。
13、修改字段显示

14、修改好后,回到UI界面,在图示地方选择自己建立的报表
【机房重构】——VS制作报表+日期格式转化_第11张图片

代码部分:

        代码这块很简单。
        当进入代码界面后,会有错,这是因为没有给sql语句传值。

报错代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: 这行代码将数据加载到表“DataSet1.SettleAccount_Info”中。您可以根据需要移动或删除它。
        Me.SettleAccount_InfoTableAdapter.Fill(Me.DataSet1.SettleAccount_Info)'报错行,因为未给当初设定的SQL语句赋@data 的值

        Me.ReportViewer1.RefreshReport()
    End Sub

调整:
        界面是添加的DateTimePicker1获取时间
        所以将DateTimePicker1的值赋给@data

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: 这行代码将数据加载到表“DataSet1.SettleAccount_Info”中。您可以根据需要移动或删除它。
        Me.SettleAccount_InfoTableAdapter.Fill(Me.DataSet1.SettleAccount_Info, DateTimePicker1.Text)'将

        Me.ReportViewer1.RefreshReport()
    End Sub

日期格式转化

        但这样运行后,有的会发现没有查到想要的数据,或者报错。这是因为日期格式的问题。
        数据库中日期格式为:yyyy-MM-dd
        而DateTimePicker1的text的格式为:****年**月**日
        这就需要我们传值的时候将格式转化成一致的:

代码为:
Me.SettleAccount_InfoTableAdapter.Fill(Me.weakDataSet1.SettleAccount_Info, Format(DateTimePicker1.Value, "yyyy-MM-dd"))

        这样,顺利完成呐~~~~~

总结:
        这样可以实现所要的功能,但几乎没写什么代码,没有用七层去实现。(如果不加数据源,可以用七层传回值)但本着尝试各种方式的理念,报表我就这么做了......


你可能感兴趣的:(报表,界面)