access开发教程第4章第5节
时 间:2008-11-13 09:12:55
作 者:Access软件网编著 ID:11 城市:上海 QQ:3002789054
摘 要:4.5 修改窗体的制作
正 文:
4.5 修改窗体的制作
前面我们已经提到,为了便于进行权限的管理,我们禁止掉了员工姓名的主数据界面的编辑功能,只通过特定的功能按钮来实现,前面我们已经完成了新增功能的制作,下一步,就是修改功能的制作了。同理,修改功能也需要在单独的界面里完成,因此,我们需要先制作修改窗体,修改窗体的建立的操作步骤如下:
如新增窗体的制作一样,先新建一个新的空白窗体,之后添加文本框控件并重新命名该控件(文本框的标签显示更改为:员工姓名,文本框的名称属性——如新增窗体所示,更改为:ygxm),之后显示窗体页眉页脚,并调整大小,同时保存当前的窗体设计,将窗体按之前提到命名规则,命名为: frmyg_child_Edit ,与新增窗体操作步骤一样的部分,在这里不再重复讲述,调整好的窗体如下图所示:
如新增窗体的制作一样,先新建一个新的空白窗体,之后添加文本框控件并重新命名该控件(文本框的标签显示更改为:员工姓名,文本框的名称属性——如新增窗体所示,更改为:ygxm),之后显示窗体页眉页脚,并调整大小,同时保存当前的窗体设计,将窗体按之前提到命名规则,命名为: frmyg_child_Edit ,与新增窗体操作步骤一样的部分,在这里不再重复讲述,调整好的窗体如下图所示:
下一步与上一节类似,把 ActiveX_02 窗体一区(注意,这次是 ActiveX_02 窗体)内的控件全部拷贝到当前正在编辑的 frmyg_child_Edit 窗体窗体页眉内并适当的调整各个控件的布局,如下图所示:
根据上一节介绍的方法调整控件布局,并实际调整窗体显示的大小,完成输入控件的美化工作,如下图所示:
调整完成之后,打开该窗体属性,选择格式选项卡(通过拖拽的方式可以拉长该属性窗口),分别执行以下属性修改:
标题:无默认值,输入以下字符:员工姓名修改;
滚动条:默认值为两者都有,修改为:两者均无;
记录选定器:默认为是,修改为:否;
导航按钮:默认为是,修改为:否;
分隔线:默认是为,修改为:否;
自动调整:默认为是,修改为:否;
自动居中:默认是否,修改为:是;
边框样式:默认为可调边框,修改为:对话框边框;
最大化最小化按钮:默认为两者都有,修改为:无;
关闭按钮:默认为是,修改为:否。
之后再单击数据选项卡,执行下列属性修改:
允许添加:默认为是,修改为:否。
之后再选择其他选项卡,分别执行以下属性修改:
弹出方式:默认为否,修改为:是;
模式:默认为否,修改为:是。
修改完毕之后,关闭窗体属性对话框保存修改。
进行到这里,我们切换到数据库窗口,单击模块选项卡,再单击新建按钮,如下图所示:
标题:无默认值,输入以下字符:员工姓名修改;
滚动条:默认值为两者都有,修改为:两者均无;
记录选定器:默认为是,修改为:否;
导航按钮:默认为是,修改为:否;
分隔线:默认是为,修改为:否;
自动调整:默认为是,修改为:否;
自动居中:默认是否,修改为:是;
边框样式:默认为可调边框,修改为:对话框边框;
最大化最小化按钮:默认为两者都有,修改为:无;
关闭按钮:默认为是,修改为:否。
之后再单击数据选项卡,执行下列属性修改:
允许添加:默认为是,修改为:否。
之后再选择其他选项卡,分别执行以下属性修改:
弹出方式:默认为否,修改为:是;
模式:默认为否,修改为:是。
修改完毕之后,关闭窗体属性对话框保存修改。
进行到这里,我们切换到数据库窗口,单击模块选项卡,再单击新建按钮,如下图所示:
单击新建按钮后,如下图所示:
在该界面中输入以下代码(蓝色为变量名称,是个性化字符,可以自由定义,但是不能违反标识符命名规则):
'文本型变量
Public selectstr As String
之后单击工具栏上的保存按钮,输入任何的模块名称,比如我们这里输入 variable ,之后确认保存,关闭代码窗口,再在设计视图打开 frmyg_child ,之后单击员工序号文本框,在激活的右键快捷菜单中选择属性,如下图所示:
'文本型变量
Public selectstr As String
之后单击工具栏上的保存按钮,输入任何的模块名称,比如我们这里输入 variable ,之后确认保存,关闭代码窗口,再在设计视图打开 frmyg_child ,之后单击员工序号文本框,在激活的右键快捷菜单中选择属性,如下图所示:
在打开的文本框属性对话框中选择事件选项卡,之后再单击获得焦点文本框,之后再单击之后出现的 按钮,如下图所示:
单击后面的三个小点后,会如下图所示:
如上图所示,选择代码生成器,再单击确认按钮,则如下图所示:
在鼠标的光标处输入下列代码:
On Error GoTo Err_ygId_GotFocus:
selectstr = Me.ygId
Forms!usysfrmMain!labFind.Tag = 1
Forms!usysfrmMain!btnEdit.Tag = 999
Exit_ygId_GotFocus:
Exit Sub
Err_ygId_GotFocus:
Resume Exit_ygId_GotFocus
以上字符,蓝色给个性化字符,如果您看不懂以上的代码,则将其中的蓝色字符替换为你的场景中适当的字符即可。输入完毕之后如下图所示:
On Error GoTo Err_ygId_GotFocus:
selectstr = Me.ygId
Forms!usysfrmMain!labFind.Tag = 1
Forms!usysfrmMain!btnEdit.Tag = 999
Exit_ygId_GotFocus:
Exit Sub
Err_ygId_GotFocus:
Resume Exit_ygId_GotFocus
以上字符,蓝色给个性化字符,如果您看不懂以上的代码,则将其中的蓝色字符替换为你的场景中适当的字符即可。输入完毕之后如下图所示:
确认无误关闭代码窗口,保存修改,之后再打开该窗体的属性,即 frmyg_child 的窗体属性,选择事件选项卡,在成为当前文本框中输入以下内容: =selectrecord() 。如下图所示:
关闭窗体属性保存输入,关闭 frmyg_child 窗体并切换到 frmyg_child_Edit 窗体,之后再打开该窗体的窗体属性,选择事件选项卡,单击加载文本框,之后再单击该文本框之后出现的 按钮,之后选择代码生成器,单击确认按钮,如下图所示:
在鼠标光标处,输入以下代码:
Me.RecordSource = "Select * FROM tblCodeyg Where ygId = '" & selectstr & "'"
同样,蓝色字符为个性化字符,如果你看不懂,在您的环境中适当替换即可。
确认输入无误之后,关闭该代码窗口,之后再关闭窗体属性以保存修改。进行到这里,我们该进行一个必要的操作,给该设计窗体的文本框控件添加数据源。打开员工姓名的文本框属性,选择数据选项卡,控件来源对话框中输入:ygxm。请注意,这里的控件来源,一定要填表的实际字段名称匹配。如下图所示:
Me.RecordSource = "Select * FROM tblCodeyg Where ygId = '" & selectstr & "'"
同样,蓝色字符为个性化字符,如果你看不懂,在您的环境中适当替换即可。
确认输入无误之后,关闭该代码窗口,之后再关闭窗体属性以保存修改。进行到这里,我们该进行一个必要的操作,给该设计窗体的文本框控件添加数据源。打开员工姓名的文本框属性,选择数据选项卡,控件来源对话框中输入:ygxm。请注意,这里的控件来源,一定要填表的实际字段名称匹配。如下图所示:
之后再按以下路径定位:视图(V)→代码(C) ,单击代码后,如下图所示:
在鼠标光标处,输入以下代码:
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
If IsNull(Me.ygxm) Then
MsgBox "请输入员工姓名!", vbCritical, "提示:"
Me.ygxm.SetFocus
Exit Sub
End If
Me.Refresh
DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"
DoCmd.Echo True
'触发子窗体计时器事件
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
DoCmd.Close acForm, "frmyg_child_Edit"
End Sub
同理,蓝色字符为个性化字符。完成之后如下图所示:
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
If IsNull(Me.ygxm) Then
MsgBox "请输入员工姓名!", vbCritical, "提示:"
Me.ygxm.SetFocus
Exit Sub
End If
Me.Refresh
DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frmyg_child"
DoCmd.Echo True
'触发子窗体计时器事件
Forms!usysfrmMain!frmChild.Form.TimerInterval = 300
DoCmd.Close acForm, "frmyg_child_Edit"
End Sub
同理,蓝色字符为个性化字符。完成之后如下图所示:
进行到这里,修改窗体就已经做好了,关闭当前所有设计界面,之后如新增窗体一样,先添加导航按钮的修改属性,之后再给管理员组添加修改的权限。最后别忘记了给窗体属性添加说明文字,比如这里的场合:员工姓名 - 修改窗体。
下面我们来试验一下修改效果,先使用新增功能,多添加几条记录,比如李三、王五,如下图所示:
选中本图中序号为 Y02 的李三,之后单击工具栏上的修改按钮(再强调一次,如果不进行导航按钮属性添加和权限赋予,这里是不会出现修改按钮的),则如下图所示:
将李三修改为李四,之后单击关闭按钮,则如下图所示:
如上图所示,这就是我们所要的修改的功能,符合我们的设计要求。但是还有一点瑕疵,那就是我们刚才单击的是序号为 Y02 的记录,但是当关闭掉修改窗体的时候,系统却自动定位到第序号为 Y01 的记录,这样做似乎不太好,如果记录太多的话,无法核实是否完成了所要的修改,下一节,我们就来实现这一功能,修改完毕之后,返回到起先选定的修改记录。
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)