Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

access2007开发教程第7章第3节

时 间:2011-10-12 09:18:16
作 者:Access软件网编著   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:7.3 动态报表的制作
正 文:

7.3 动态报表的制作

    我们接着上一小节继续进行。第一步:单击模块窗格,进入此前第四章建立的 variable 模块的代码编辑界面,如下图所示:

    新起一行,输入以下代码:


       '在模块中声明报表数据源的全局变量
Public strRptReSource As String


    保存输入,关闭模块。
    第二步:切换到窗体选项卡,直接进入 frmBxmx_child 窗体的代码编辑界面,会看到有这样一段代码:


Public Sub FindEnd()
    Forms!usysfrmMain!frmChild.Form.RecordSource = Acchelp_ChildFormRecordSource("qryBxmx", "报销编号", True)
End Sub


    如上所示,在第二行与第三行中加这样一行代码:


' 记录下来报表的数据来源
strRptReSource = Forms!usysfrmMain!frmChild.Form.RecordSource


    整段代码实际上就是给修改正了这个样子:


Public Sub FindEnd()
    Forms!usysfrmMain!frmChild.Form.RecordSource = Acchelp_ChildFormRecordSource("qryBxmx"," 报销编号 ", True)
     '记录下来报表的数据来源
    strRptReSource = Forms!usysfrmMain!frmChild.Form.RecordSource
End Sub


    确认输入无误后,保存输入并关闭该窗体。
    第三步:切换到报表窗格,进入 rptBxmx 报表设计界面,打开报表属性,单击事件选项卡,进入打开事件的代码编辑界面,如下图所示:

在鼠标光标处输入以下代码,如下图所示:


   '赋上查找后的报表数据源
    If strRptReSource = "" Then
        Me.RecordSource = Forms!usysfrmMain!frmChild.Form.RecordSource
    Else
        Me.RecordSource = strRptReSource
End If


 保存输入,关闭报表,就这样,动态报表的制作就完成了。可以实际测试一下,比如,我们在报销管理界面,执行类别名称等于住宿费的查询,之后再单击预览按钮,如下图所示:

    现在大家就会发现现在的报表与之前的报表的不同之处,之前的报表无论你如何更换查询条件,单击预览按钮之后,报表始终是一样的,而现在则可以随查询条件的不同而不同,从这个意义上说,之前的报表即是静态报表,当前的可以称为动态报表。
    当前的报表是基于类别进行的统计的,如果我想浏览或者打印按人员进行的统计的报表,又该如何做呢?如何让系统提供一个可以切换的面板呢?我们在下一节将着手解决这个问题。
 

相关索引: 上一节 下一节



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助