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

access开发教程第6章第4节

时 间:2008-11-27 14:16:17
作 者:Access软件网编著   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:6.4 基础资料的快捷添加
正 文:

6.4 基础资料的快捷添加 
     我们现在发现一个现象,就是比如类别名称这一字段,其数据来源是来源基础资料的报销类别,而现在的情况是,如果在报销管理里输入一个报销明细,却发现其报销类型在报销类别(员工姓名也有这个问题存在)的下拉列表中没有,这个时候,就要退出,到基础资料那边去输入,显得很麻烦。因此,如果在新增窗体上就现成地增加一个按钮,直接执行添加操作,岂不很好?我们下面就来实现这个设想。 
     直接进入 frmBxmx_child_Add 窗体的设计窗体,将报销类别和员工姓名两个组合框拉短一点,如下图所示: 
     
     进入 ActiveX 窗体的设计界面,将二区的控见分别拷贝到报销类别和员工姓名后面,并适当调整大小以适应整体布局,完成之后如下图所示:
     
     进入刚添加的报销类别后面的按钮的属性对话框,,将其名称命名为 cmdBX (属性-其他选项卡-名称),同理,员工姓名后面的一个命名为 cmdYG 。之后进入该窗体的代码编辑界面,新起一行,输入这样的代码:
     Private Sub cmdBX_ButtonClick(ByVal Button As Object)
     DoCmd.OpenForm "frm_CodeBxlb_child_Add"
     End Sub
     Private Sub cmdYG_ButtonClick(ByVal Button As Object)
     DoCmd.OpenForm "frmyg_child_Add" 
     End Sub      
     确保正确之后,退出保存。之后直接 frm_CodeBxlb_child_Add 窗体的编码编辑页面,注意到有这样一些代码:
     '刷新数据
     If IsLoaded("usysfrmMain") Then
                DoCmd.Echo False
                Forms!usysfrmMain!frmChild.SourceObject = "frm_CodeBxlb_child"
                DoCmd.Echo True
     End If 
     MsgBox "保存成功!", vbInformation, "提示"
     Me.lbmc = Null 
     End If
     End Sub  
     将以上的代码修改如下:
     '刷新数据
     If IsLoaded("usysfrmMain") Then
             If IsLoaded("frmBxmx_child_Add") = True Then
                      Forms!frmBxmx_child_Add!lbId.Requery
                      GoTo 100
             End If
             DoCmd.Echo False 
             Forms!usysfrmMain!frmChild.SourceObject = "frm_CodeBxlb_child"
             DoCmd.Echo True
     End If
    100: MsgBox " 保存成功 !", vbInformation, " 提示 "
     Me.lbmc = Null
     End If
     End Sub  
     之后退出保存修改,之后直接进入 frmyg_child_Add 窗体的代码编辑页面,也会看到这样一段代码 :
     '刷新数据
      If IsLoaded("usysfrmMain") Then
               DoCmd.Echo False
               Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"
               DoCmd.Echo True
      End If
      MsgBox "保存成功!", vbInformation, " 提示 "
      Me.ygxm = Null
      End If
      End Sub
      将上面的代码修改如下 :
      '刷新数据
      If IsLoaded("usysfrmMain") Then
                If IsLoaded("frmBxmx_child_Add") = True Then
                         Forms!frmBxmx_child_Add!ygId.Requery
                         GoTo 100
                End If
                DoCmd.Echo False
                Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"
                DoCmd.Echo True
      End If
     100: MsgBox " 保存成功 !", vbInformation, " 提示 "
      Me.ygxm = Null
      End If
      End Sub
     进行到这里,必要步骤的就进行完毕了,可以检测一下实际的功能是否正常。至于是否添加这个按钮,根据情况决定,如果要对基础资料实现非常严格的权限控制,那么这里就可能不需要设置,因为一旦添加了这个按钮,权限控制就可能成为问题了。
相关索引:上一节 下一节


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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