access开发教程第5章第4节
时 间:2008-11-22 09:06:38
作 者:Access软件网编著 ID:11 城市:上海 QQ:3002789054
摘 要:5.4 修改窗体的制作
正 文:
5.4 修改窗体的制作
同样,在基础资料部分,已经介绍了修改窗体的制作,与现在不同的情况是,那只涉及到一个字段的修改,而当前则涉及到五个字段,差异很小,因此,我们在这里,对前面提到一致的部分,就一笔带过,着重讲述不一致的地方。
如新增窗体的制作一样,先新建一个新的空白窗体,之后添加五个文本框控件,之后显示窗体页眉页脚,并调整大小,之后如前所叙述的那样,将相应的 ActiveX_02 窗体中的相应控件拷贝过来,并调整布局,之后保存当前的窗体设计,将窗体按之前提到命名规则,命名为: frmBxmx_child_Edit ,与新增窗体操作步骤一样的部分,在这里不再重复讲述,调整好的窗体如下图所示:

同样,在基础资料部分,已经介绍了修改窗体的制作,与现在不同的情况是,那只涉及到一个字段的修改,而当前则涉及到五个字段,差异很小,因此,我们在这里,对前面提到一致的部分,就一笔带过,着重讲述不一致的地方。
如新增窗体的制作一样,先新建一个新的空白窗体,之后添加五个文本框控件,之后显示窗体页眉页脚,并调整大小,之后如前所叙述的那样,将相应的 ActiveX_02 窗体中的相应控件拷贝过来,并调整布局,之后保存当前的窗体设计,将窗体按之前提到命名规则,命名为: frmBxmx_child_Edit ,与新增窗体操作步骤一样的部分,在这里不再重复讲述,调整好的窗体如下图所示:

依次修改各个文本控件的标签,从上到下分别是:报销日期、报销类别、员工姓名、报销金额、报销摘要,之后再依次修改各个文本框的名称属性(属性 - 其他选项卡 - 名称),从上到下依次是: bxrq 、 lbId 、 ygId 、 bxje 、 bxzy ,之后再依次修改各个文本框的控件来源属性(属性 - 数据选项卡 - 控件来源),从上到下依次是: bxrq 、 lbId 、 ygId 、 bxje 、 bxzy (新增窗体不需要设置数据源,但是修改窗体则一定需要设置数据源),如下图所示:

按照以前介绍的方法进行界面的美化工作,完成之后如下图所示:

之后,将报销类别和员工姓名更改为组合框,其行来源和其他属性修改与新增窗体完全一致,完成之后如下图所示:

之后再修改窗体属性:
格式选项卡:
标题:报销明细修改;
滚动条:两者均无;
记录选定器:否;
导航按钮:否;
分隔线:否;
自动调整:否;
自动居中:是;
边框样式:对话框边框;
控制框:否(新增窗体不需要修改这一属性);
最大化最小化按钮:无;
关闭按钮:否。
数据选项卡,:
允许添加:否。
其他选项卡:
弹出方式:是;
模式:是。
修改完毕之后,关闭窗体属性对话框保存修改。
如前所述,由于全局变量已经定义,这里就不要再定义了,直接进入 frmBxmx_child 窗体的设计界面,之后右键单击报销编号的文本框,进入属性界面后,再进入事件选项卡的获得焦点事件的代码输入界面,如下图所示:

格式选项卡:
标题:报销明细修改;
滚动条:两者均无;
记录选定器:否;
导航按钮:否;
分隔线:否;
自动调整:否;
自动居中:是;
边框样式:对话框边框;
控制框:否(新增窗体不需要修改这一属性);
最大化最小化按钮:无;
关闭按钮:否。
数据选项卡,:
允许添加:否。
其他选项卡:
弹出方式:是;
模式:是。
修改完毕之后,关闭窗体属性对话框保存修改。
如前所述,由于全局变量已经定义,这里就不要再定义了,直接进入 frmBxmx_child 窗体的设计界面,之后右键单击报销编号的文本框,进入属性界面后,再进入事件选项卡的获得焦点事件的代码输入界面,如下图所示:

在鼠标光标处输入以下代码:
On Error GoTo Err_报销编号_GotFocus:
selectstr = Me.报销编号
Forms!usysfrmMain!labFind.Tag = 1
Forms!usysfrmMain!btnEdit.Tag = 999
Exit_报销编号_GotFocus:
Exit Sub
Err_报销编号_GotFocus:
Resume Exit_报销编号_GotFocus
其结果如下图所示:

On Error GoTo Err_报销编号_GotFocus:
selectstr = Me.报销编号
Forms!usysfrmMain!labFind.Tag = 1
Forms!usysfrmMain!btnEdit.Tag = 999
Exit_报销编号_GotFocus:
Exit Sub
Err_报销编号_GotFocus:
Resume Exit_报销编号_GotFocus
其结果如下图所示:

如前所述说的那样,确认无误关闭代码窗口,保存修改,之后再打开该窗体的属性,即 frmBxmx_child 的窗体属性,选择事件选项卡,在成为当前文本框中输入以下内容: =selectrecord() 。
关闭窗体属性保存输入,关闭 frmBxmx_child 窗体并切换到 frmBxmx_child_Edit 窗体,之后再打开该窗体的窗体属性,选择事件选项卡,进入加载事件的代码编辑窗口,如下图所示:

关闭窗体属性保存输入,关闭 frmBxmx_child 窗体并切换到 frmBxmx_child_Edit 窗体,之后再打开该窗体的窗体属性,选择事件选项卡,进入加载事件的代码编辑窗口,如下图所示:

在鼠标光标处输入以下代码:
Me.RecordSource = "Select * FROM tblBxmx Where mxId = '" & selectstr & "'"
保存输入,之后在该段代码末尾处新起一行,输入以下代码:
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
If IsNull(Me.bxrq) Then
MsgBox "请输入报销日期!", vbCritical, "提示:"
Me.bxrq.SetFocus
Exit Sub
End If
If IsNull(Me.lbId) Then
MsgBox "请输入报销类别!", vbCritical, "提示:"
Me.RecordSource = "Select * FROM tblBxmx Where mxId = '" & selectstr & "'"
保存输入,之后在该段代码末尾处新起一行,输入以下代码:
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
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
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
DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frmBxmx_child"
DoCmd.Echo True
'触发子窗体计时器事件
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
DoCmd.Close acForm, "frmBxmx_child_Edit"
End Sub
完成之后如下图所示:

DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frmBxmx_child"
DoCmd.Echo True
'触发子窗体计时器事件
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
DoCmd.Close acForm, "frmBxmx_child_Edit"
End Sub
完成之后如下图所示:

进行到这里,修改窗体的设计,就基本完成了,添加导航按钮、分配权限之后进行测试,测试成功之后进入下一步。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- Inputbox输入密码打开查...(12.23)
- 【Access Dsum示例】...(12.16)
- Inputbox输入密码打开窗...(12.13)
- 【Access DCount示...(12.02)

学习心得
最新文章
- 用Access查询语句如何得到前3...(02.17)
- Access快速开发平台--导入导...(02.14)
- 按回车键后光标移动到下一条记录的V...(02.12)
- Access快速开发平台--要实现...(02.10)
- Access快速开发平台--让Pe...(02.08)
- 【Access Dsum示例】用D...(02.07)
- Access对子窗体的数据进行平均...(02.05)
- Access快速开发平台附件上传,...(01.18)
- 【IIF函数示例】用iif函数判断...(01.18)
- Access快速开发平台--如何获...(01.17)