access开发教程第5章第3节
时 间:2008-11-21 13:21:39
作 者:Access软件网编著 ID:11 城市:上海 QQ:3002789054
摘 要:5.3 新增窗体的制作
正 文:
5.3 新增窗体的制作
在基础资料部分,已经介绍了新增窗体的制作,与现在不同的情况是,那只涉及到两个字段的新增(其中还有一个是由系统负责自动产生数据的字段,实际上说一个字段也可以),而当前则涉及到六个字段(也可以说是五个),差异很小,因此,我们在这里,对前面提到一致的部分,就一笔带过,着重讲述不一致的地方。
在进行之前,先进行一个必要的工作,即将 frmBxmx_child 窗体的记录集类型修改成快照(窗体属性 - 数据选项卡 - 记录集类型)。之后在数据库窗口,新建一个空白窗体,之后关闭工具箱的向导,之后依次拖拽五个文本框(因为有一个字段的数据将由系统自动产生),如下图所示:
在基础资料部分,已经介绍了新增窗体的制作,与现在不同的情况是,那只涉及到两个字段的新增(其中还有一个是由系统负责自动产生数据的字段,实际上说一个字段也可以),而当前则涉及到六个字段(也可以说是五个),差异很小,因此,我们在这里,对前面提到一致的部分,就一笔带过,着重讲述不一致的地方。
在进行之前,先进行一个必要的工作,即将 frmBxmx_child 窗体的记录集类型修改成快照(窗体属性 - 数据选项卡 - 记录集类型)。之后在数据库窗口,新建一个空白窗体,之后关闭工具箱的向导,之后依次拖拽五个文本框(因为有一个字段的数据将由系统自动产生),如下图所示:
依次修改各个文本控件的标签,从上到下分别是:报销日期、 报销类别、员工姓名、报销金额、报销摘要、之后再依次修改各个文本框的名称属性(属性-其他选项卡-名称),从上到下依次是:bxrq 、lbId 、ygId 、bxje 、bxzy ,如下图所示:
为了防止出现计算机故障或者误操作而导致工作丢失的情况,可以现在就保存设计,将窗体的命名为: frmBxmx_child_Add 。
参考基础资料部分的新增窗体的制作过程,进行当前窗体的布局调整和界面美化,并保存,完成之后如下图所示:
参考基础资料部分的新增窗体的制作过程,进行当前窗体的布局调整和界面美化,并保存,完成之后如下图所示:
之后再按照如基础资料新增窗体那样介绍的一样修改窗体属性,唯一不同的是将窗体的格式选项卡的标题的属性命名为:报销明细新增。其他的都一致。之后进入该窗体的代码编写界面,输入下面的代码:
Option Compare Database
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
Select Case Button
Case "保存"
cmd_Save
Case "关闭"
DoCmd.Close
End Select
End Sub
Case "保存"
cmd_Save
Case "关闭"
DoCmd.Close
End Select
End Sub
Private Sub cmd_Save()
Dim rst As DAO.Recordset
Dim rst As DAO.Recordset
If IsNull(Me.bxrq) Then
MsgBox "请输入报销日期!", vbCritical, "提示:"
Me.bxrq.SetFocus
Exit Sub
End If
MsgBox "请输入报销日期!", vbCritical, "提示:"
Me.bxrq.SetFocus
Exit Sub
End If
If IsNull(Me.lbId) Then
MsgBox "请输入报销类别!", vbCritical, "提示:"
Me.lbId.SetFocus
Exit Sub
End If
MsgBox "请输入报销类别!", vbCritical, "提示:"
Me.lbId.SetFocus
Exit Sub
End If
If IsNull(Me.ygId) Then
MsgBox "请输入员工姓名!", vbCritical, "提示:"
Me.ygId.SetFocus
Exit Sub
End If
MsgBox "请输入员工姓名!", vbCritical, "提示:"
Me.ygId.SetFocus
Exit Sub
End If
If IsNull(Me.bxje) Then
MsgBox "请输入报销金额!", vbCritical, "提示:"
Me.bxje.SetFocus
Exit Sub
End If
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
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
Me.ygId = Null
Me.bxje = Null
Me.bxzy = Null
End If
End Sub
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
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
Me.ygId = Null
Me.bxje = Null
Me.bxzy = Null
End If
End Sub
大家可以对比一下代码的差异,其实,实质性的差异很小。
进行到这里,下面的工作就与以前的不同,选择报销类别文本框,右键,选择更改为级联菜单的,组合框命令(当初也可以直接拖拽组合框),如下图所示:
之后再将员工姓名的文本框也更改为组合框,完成之后如下图所示:
请注意在前面已经修改过的文本框格式选项卡的背景样式的属性已经自动由透明变成了常规,现在重新修改为透明。
之后再次选中报销类别的组合框,激活右键菜单,选择属性对话框,如下图所示:
之后再次选中报销类别的组合框,激活右键菜单,选择属性对话框,如下图所示:
之后选择属性,在弹出的属性对话框中选择数据选项卡,点选行来源文本框,之后再点选之后出现的 按钮,由于这种的界面我们来过很多次了,所以,就不再截图,略微叙述一下,点选 按钮进入之后,在弹出显示表对话框中选择 tblCodeBxlb 表(因为我们选择的是报销类别文本框)添加,之后如前所述说的那样,双击 * 号,表示选择所有字段,如前所述说的那样单击关闭按钮,则会退回到组合框的属性对话框,并自动在行来源(请注意,是行来源)文本框里生成一段 SQL 语句代码,在当前环境下,是这样的:
Select tblCodeBxlb.* FROM tblCodeBxlb;
之后依次在此属性对话框里修改以下属性:
数据选项卡
绑定列: 1
格式选项卡
列数: 2
列宽: 0cm ; 2cm
列表行数: 20
列表宽度: 2cm
Select tblCodeBxlb.* FROM tblCodeBxlb;
之后依次在此属性对话框里修改以下属性:
数据选项卡
绑定列: 1
格式选项卡
列数: 2
列宽: 0cm ; 2cm
列表行数: 20
列表宽度: 2cm
修改完毕之后,关闭属性对话框以便保存修改。至于员工姓名组合框,如报销类别如此这样修改即可。无非是在选择表的时候选择与其相对应的表,即选择 tblCodeyg 表。其他的属性修改操作完全一致。
到了这里,新增界面的工作就完成了,添加窗体说明,导航和分配权限之后,即可测试其功能如何,之后进入下一步工作。当然,为了便于操作的目的,还可以进行一些锦上添花的修改,我们在后面将继续叙述。
相关索引:上一节 下一节
到了这里,新增界面的工作就完成了,添加窗体说明,导航和分配权限之后,即可测试其功能如何,之后进入下一步工作。当然,为了便于操作的目的,还可以进行一些锦上添花的修改,我们在后面将继续叙述。
相关索引:上一节 下一节
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)