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

Access2016数据库快速开发教程(十五)

时 间:2016-06-28 08:14:44
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:第七章(3)
正 文:

7.4 动态报表切换面板的制作

        继续上一节的操作,切换到报表窗格,参照7.1节静态报表的制作,再利用向导建立一个新报表,执行到图7-4时,字段选“ygxm”和“bxje”,除了所选的两个字段与之前不一样外,其他的全部一样,完成之后,修改报表的页眉,并将报表名称命名为: rptBxmxYg ,完成之后,如下图所示

    

    

7-28 按员工统计报表

  

关闭报表,这样就有了两个报表,分别为rptBxmx(即按报销类别统计)rptBxmxYg(按员工姓名统计),如下图7-29所示:

       图7-29 两个报表

  

下面,我们就来设计一个切换窗体,该窗体的作用是在预览报表之前,操作者可以选择“按报销类别统计”或是“按员工统计”,以打开相应的报表。

新建一个窗体,如下图7-30所示:

7-30 设计切换窗体(1)

  

选中图7-30中的“设计视图”,单击【确定】按钮,出现画面如下图7-31所示:

7-31 设计切换窗体(2)

  

单击图7-31中工具栏上的“保存”图标(左上角红框处)或是在菜单栏上选择 文件(F)à 保存(S)来保存这个新窗体,将其名称定义为 frmRptSelect ,保存后,如下图7-32所示:

 

7-32 设计切换窗体(3)

  

双击图7-32处左上角红框处的小黑方块,进入窗体属性(若未显示窗体属性则再次双击一次),进行该窗体以下属性设置:

     格式选项卡:

标题:无默认值,输入以下字符:请选择您所要浏览的报表;

滚动条:默认值为两者都有,修改为:两者均无;

记录选择器:默认为是,修改为:否;

导航按钮:默认为是,修改为:否;

分隔线:默认为是,修改为:否;

自动调整:默认为是,修改为:否;

自动居中:默认是否,修改为:是;

边框样式:默认为可调边框,修改为:对话框边框;

控制框:默认为是,修改为:否;

最大化最小化按钮:默认为两者都有,修改为:无。

如下图7-33所示:

 

7-33 设计切换窗体(4)


    其他选项卡:

弹出方式:默认为否,修改为:是。

保存窗体的设计,关闭属性窗口,然后单击工具箱上的选项组按钮 ,如下图7-34所示:

7-34 设计切换窗体(5)

  

之后在窗体上选择适当位置放置,如下图7-35所示:

      

7-35 设计切换窗体(6)

  

删除该选项组的标签,之后再单击工具箱中的“选项按钮” ,即单选按钮,放置两个于选项组区域内,如下图7-36所示:

      

7-36 设计切换窗体(7)

  

由于单选按钮默认带了一个标签控件,我们就先修改其携带的两个标签,将第一个名为 Option2 标签修改为:按报销类别统计报表浏览,将第二个名为 Option4 标签修改为:按员工姓名统计报表浏览,并调整各个控件在窗体上的布局,如下图7-37所示:

 

7-37 设计切换窗体(8)

  

单击图7-37工具箱红框处的命令按钮 ,在选项组控件下面放置两个命令按钮,将第一个命令按钮命名为确定,将第二个命令按钮命名为取消,如下图7-38所示:

7-38 设计切换窗体(9)

  

基本布局已经基本完成,现在进行属性修改:

第一:打开选项组的属性,选择“其他”选项卡,如下图7-39所示:

7-39 设计切换窗体(10)

  

将图7-39中“其他”选项卡中的“名称”项中默认的 Frame0 名称修改为 sRpt ,如下图7-40所示:

7-40 设计切换窗体(11)

  

在“数据”选项卡中的“默认值”项中输入:1(即默认为按报销类别统计),如下图7-41所示:

      

7-41 设计切换窗体(12)

  

第二:打开单选按钮按报销分类统计报表浏览的属性,选择“数据”选项卡,将选项值设置为1 ,如下图7-42所示:

      

7-42 设计切换窗体(13)

  

同理,将“按员工姓名统计报表浏览”单选按钮的该选项值修改为 2

第三:打开命令按钮【取消】的属性,选择“其他”选项卡,将名称属性修改为: cmdClose,如下图7-43所示:

      

7-43 设计切换窗体(14)


    之后切换到“事件”选项卡,在“单击”项选择:[事件过程],如下图7-44所示:

    

        

7-44 设计切换窗体(15)

  

单击“单击”事件右边的“…”按钮,进入单击事件的代码编辑页面,如下图7-45所示:

7-45 设计切换窗体(16)

  

在代码光标处输入以下代码: DoCmd.Close ,如下图7-46所示:

                       7-46 设计切换窗体(17)

  

输入之后保存,并关闭代码输入页面,关闭【取消】的控件属性窗口。

打开【确定】按钮的属性,将“其它”选项卡的名称修改为 cmdOK ,如下图所示:

7-47 设计切换窗体(18)

  

之后切换到“事件”选项卡,在“单击”项选择:[事件过程],单击“单击”事件右边的“…”按钮,进入单击事件的代码编辑页面,如下图7-48所示:

7-48 设计切换窗体(19)


    在cmdOK单击事件中输入以下代码:

 

Select Case Me.sRpt
    Case 1
        '预览报表 - 按报销类别
        DoCmd.OpenReport "rptBxmx", acViewPreview, , g_strWhere
    Case 2
        '预览报表 - 按员工姓名
        DoCmd.OpenReport "rptBxmxYg", acViewPreview, , g_strWhere
    End Select
DoCmd.Close acForm, "frmRptSelect"


 

     代码输入后如下图7-49所示:

   

   

7-49 设计切换窗体(20)

  

保存输入,之后关闭代码输入界面,并关闭属性对话框,之后按之前所学的方法,调整窗体运行时的实际显示大小,如下图7-50所示:

7-50 设计切换窗体(21)

  

注意:图7-50看似调整好了,运行时未必一定如此大小,所以需要在调整好外观尺寸后,移动一下某个控件,再保存一下窗体,就会调整成功。

从图7-49可以看出,在代码的最右边有一个g_strWhere变量条件,这个变量条件是用来根据操作员查询条件显示相应的统计结果,那么该变量条件值从哪里来呢?请接着往下进行学习。

首先双击模块Module1,在该模块声明一个全局变量g_strWhere,代码如下:

Public g_strWhere As String

声明后代码区如下图7-51所示:

 

7-51 设计切换窗体(22)

  

再进入frmBxmx的窗体模块,修改btnPrintPreview事件和btnPrint事件的VBA代码如下:

Public Sub btnPrintPreview_Click()
    On Error GoTo ErrorHandler
'    If ObjectExists(acReport, "rptBxmx") = True Then
'    DoCmd.OpenReport "rptBxmx", acViewPreview, , mclsQuery.WhereSQL
'    End If
    g_strWhere = mclsQuery.WhereSQL
    DoCmd.OpenForm "frmRptSelect"
ExitHere:
    Exit Sub
    
ErrorHandler:
    Select Case Err.Number
    Case errOpenActionWasCanceled, errOperationCanceledByUser
    Case Else
        MsgBoxEx Err.Description, vbCritical
    End Select
    Resume ExitHere
End Sub

Public Sub btnPrint_Click()
    On Error GoTo ErrorHandler

    '    DoCmd.OpenReport "rptBxmx", , mclsQuery.WhereSQL
    g_strWhere = mclsQuery.WhereSQL
    DoCmd.OpenForm "frmRptSelect"
ExitHere:
    Exit Sub

ErrorHandler:
    Select Case Err.Number
    Case errOpenActionWasCanceled, errOperationCanceledByUser
    Case Else
        MsgBoxEx Err.Description, vbCritical
    End Select
    Resume ExitHere
End Sub
 

代码修改后如下图7-52所示:

7-52 设计切换窗体(23)

  

执行保存,然后关闭VBA代码界面和所有窗体。

    运行SysFrmLogin窗体登录系统,双击导航菜单中的“报销明细”,如下图7-53所示:

      

 

7-53 设计切换窗体(24)

  

单击图7-53中的“打印预览”按钮,就可以看到不同报表的切换效果了,这里不作详述。



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

常见问答:

技术分类:

相关资源:

专栏作家

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