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

access2007开发教程第5章第3节

时 间:2011-09-29 10:36:08
作 者:Access软件网编著   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:5.3 新增窗体的制作
正 文:

5.3 新增窗体的制作
   
在基础资料部分,已经介绍了新增窗体的制作,与现在不同的情况是,那只涉及到两个字段的新增(其中还有一个是由系统负责自动产生数据的字段,实际上说一个字段也可以),而当前则涉及到六个字段(也可以说是五个),差异很小,因此,我们在这里,对前面提到一致的部分,就一笔带过,着重讲述不一致的地方。
在进行之前,先进行一个必要的工作,即将 frmBxmx_child 窗体的记录集类型修改成快照(窗体属性 - 数据选项卡 - 记录集类型)。关掉当前的窗体,在功能区上按以下的路径进行定位:创建→其他窗体→模式对话框,右击主体在快捷菜单中选择窗体页眉/页脚,然后在功能区中的排列里面设置背景样式为平台统一样式,样式为和4.3里面相同的样式,之后依次拖拽五个文本框(因为有一个字段的数据将由系统自动产生),适当调整一下窗体的大小和窗体里控件的布局,如下图所示:

    依次修改各个文本控件的标签,从上到下分别是:报销日期、 报销类别、员工姓名、报销金额、报销摘要、之后再依次修改各个文本框的名称属性(属性-其他选项卡-名称),从上到下依次是:bxrq 、lbId 、ygId 、bxje 、bxzy ,如下图所示:

    为了防止出现计算机故障或者误操作而导致工作丢失的情况,可以现在就保存设计,将窗体的命名为: frmBxmx_child_Add 。
    替换窗体里的确定和取消按钮,替换后调整一下位置,如下图所示:

    之后再按照如基础资料新增窗体那样介绍的一样修改窗体属性,唯一不同的是将窗体的格式选项卡的标题的属性命名为:报销明细新增,再参考前面稍微做下控件的美化,其他的都一致。之后进入该窗体的代码编写界面,输入下面的代码:


Option Compare Database
Private Sub cmd_Save()
    Dim rst As DAO.Recordset
    If IsNull(Me.bxrq) Then
        MsgBox "请输入报销日期!", vbCritical, "提示:"
        Me.bxrq.SetFocus
        Exit Sub
    End If
    If IsNull(Me.lbId) Then
        MsgBox "请输入报销类别!", vbCritical, "提示:"
        Me.lbId.SetFocus
        Exit Sub
    End If
    If IsNull(Me.ygId) Then
        MsgBox "请输入员工姓名!", vbCritical, "提示:"
        Me.ygId.SetFocus
        Exit Sub
    End If
    If IsNull(Me.bxje) Then
        MsgBox "请输入报销金额!", vbCritical, "提示:"
        Me.bxje.SetFocus
        Exit Sub
    End If
    Me.Refresh
    If MsgBox("您确认要保存吗?", vbOKCancel + vbInformation, "提示") = vbOK Then
        Set rst = CurrentDb.OpenRecordset("tblBxmx", dbOpenDynaset)
        rst.AddNew
        rst("mxId") = acchelp_autoid("M", 10, "tblBxmx", "mxId")
        rst("bxrq") = Me.bxrq
        rst("lbId") = Me.lbId
        '注这里是lbid不是bxlb
        rst("ygId") = Me.ygId
        rst("bxje") = Me.bxje
        rst("bxzy") = Me.bxzy
        rst.Update
        rst.Close
        Set rst = Nothing
        '刷新数据
        If IsLoaded("usysfrmMain") Then
            DoCmd.Echo False
            Forms!usysfrmMain!frmChild.SourceObject = "frmBxmx_child"
            DoCmd.Echo True
        End If
        MsgBox "保存成功!", vbInformation, "提示"
        Me.bxrq = Null
        Me.lbId = Null
'注这里是lbid不是bxlb
        Me.ygId = Null
        Me.bxje = Null
        Me.bxzy = Null
    End If
End Sub


以上代码是一个保存数据的过程,我们打开确定按钮的属性,在属性里面的事件里找到单击事件,单击该事件后面的按钮,在下拉列表中选择事件过程,然后按后面的 按钮进入确定按钮的代码编写窗口,在里面调用上面定义的保存数据的过程,调用结束后完整的代码如下:


Private Sub cmdOK_Click()
cmd_Save
End Sub 


同理,对取消按钮编写代码如下:


Private Sub cmdCancel_Click()
DoCmd.Close acForm, Me.Name
End Sub

以上代码就是报销明细新增的代码了,可以和前面的员工信息新增窗体的代码对比一下,其实,实质性的差异很小。
进行到这里,下面的工作就与以前的不同,选择报销类别文本框,右键,选择更改为级联菜单的,组合框命令(当初也可以直接拖拽组合框),如下图所示:

 

之后再将员工姓名的文本框也更改为组合框,完成之后如下图所示:

之后再次选中报销类别的组合框,激活右键菜单,选择属性对话框,如下图所示:

 

    之后选择属性,在弹出的属性对话框中选择数据选项卡,点选行来源文本框,之后再点选之后出现的按钮,由于这种的界面我们来过很多次了,所以,就不再截图,略微叙述一下,点选按钮进入之后,在弹出显示表对话框中选择 tblCodeBxlb 表(因为我们选择的是报销类别文本框)添加,之后如前所述说的那样,双击 * 号,表示选择所有字段,如前所述说的那样单击关闭按钮,则会退回到组合框的属性对话框,并自动在行来源(请注意,是行来源)文本框里生成一段 SQL 语句代码,在当前环境下,是这样的:
SELECT tblCodeBxlb.* FROM tblCodeBxlb;
    之后依次在此属性对话框里修改以下属性:
数据选项卡
绑定列: 1 
格式选项卡
列数: 2
列宽: 0cm ; 2cm
列表行数: 20
列表宽度: 2cm
    修改完毕之后,关闭属性对话框以便保存修改。至于员工姓名组合框,如报销类别如此这样修改即可。无非是在选择表的时候选择与其相对应的表,即选择 tblCodeyg 表。其他的属性修改操作完全一致。
    到了这里,新增界面的工作就完成了,添加窗体说明,导航和分配权限之后,即可测试其功能如何,之后进入下一步工作。当然,为了便于操作的目的,还可以进行一些锦上添花的修改,我们在后面将继续叙述。
 

相关索引: 上一节 下一节



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

常见问答:

技术分类:

相关资源:

专栏作家

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