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

access2007开发教程第4章第5节

时 间:2011-09-26 10:11:43
作 者:Access软件网编著   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:4.5 修改窗体的制作
正 文:

4.5 修改窗体的制作
    前面我们已经提到,为了便于进行权限的管理,我们禁止掉了员工姓名的主数据界面的编辑功能,只通过特定的功能按钮来实现,前面我们已经完成了新增功能的制作,下一步,就是修改功能的制作了。同理,修改功能也需要在单独的界面里完成,因此,我们需要先制作修改窗体,修改窗体的建立的操作步骤如下:
    如新增窗体的制作一样,先新建一个新的空白模式对话框类型的窗体,之后添加文本框控件并重新命名该控件(文本框的标签显示更改为:员工姓名,文本框的名称属性——如新增窗体所示,更改为:ygxm),之后显示窗体页眉页脚,替换掉窗体里的默认确定取消按钮,并调整大小,再设置窗体背景格式,再对输入控件的稍微做下美化工作,然后保存当前的窗体设计,将窗体按之前提到命名规则,命名为: frmyg_child_Edit ,与新增窗体操作步骤一样的部分,在这里不再重复讲述,如果有什么不明白的地方可以参考4.3节里新增窗体的制作,调整好的窗体如下图所示:

    进行到这里,关闭建立的修改窗体,然后单击工具栏上的创建按钮,再单击其他里面的宏下面的三角,选择模块,如下图,

单击模块新建一个模块如下图:

    在该界面中输入以下代码(蓝色为变量名称,是个性化字符,可以自由定义,但是不能违反标识符命名规则):
     ’文本型变量
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


以上字符,蓝色给个性化字符,如果您看不懂以上的代码,则将其中的蓝色字符替换为你的场景中适当的字符即可。输入完毕之后如下图所示:

    确认无误关闭代码窗口,保存修改,之后再打开该窗体的属性,即 frmyg_child 的窗体属性,选择事件选项卡,在成为当前文本框中输入以下内容: =selectrecord() 。如下图所示:

    关闭窗体属性保存输入,关闭 frmyg_child 窗体并切换到 frmyg_child_Edit 窗体,之后再打开该窗体的窗体属性,选择事件选项卡,单击加载文本框,之后再单击该文本框之后出现的省略号图标按钮,之后选择代码生成器,单击确认按钮,如下图所示:

    在鼠标光标处,输入以下代码:


Me.RecordSource = "SELECT * FROM tblCodeyg WHERE ygId = '" & selectstr & "'"


    同样,蓝色字符为个性化字符,如果你看不懂,在您的环境中适当替换即可。
    确认输入无误之后,关闭该代码窗口,之后再关闭窗体属性以保存修改。进行到这里,我们该进行一个必要的操作,给该设计窗体的文本框控件添加数据源。打开员工姓名的文本框属性,选择数据选项卡,控件来源对话框中输入:ygxm。请注意,这里的控件来源,一定要填表的实际字段名称匹配。如下图所示:

之后再进入代码设计窗口,如下图所示:

 在鼠标光标处,输入以下代码:

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

Private Sub cmdOK_Click()
    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, Me.Name
End Sub

Private Sub Form_Load()
Me.RecordSource = "SELECT * FROM tblCodeyg WHERE ygId = '" & selectstr & "'"
End Sub


同理,蓝色字符为个性化字符。完成之后如下图所示:

    进行到这里,再进入修改窗体的属性,在数据选项卡中有个允许添加属性,设置为否,这样修改窗体就已经做好了,关闭当前所有设计界面,之后如新增窗体一样,先添加导航按钮的修改属性,之后再给管理员组添加修改的权限。最后别忘记了给窗体属性添加说明文字,比如这里的场合:员工姓名 - 修改窗体。
    下面我们来试验一下修改效果,先使用新增功能,多添加几条记录,比如李三、王五,如下图所示:

    选中本图中序号为 Y02 的李三,之后单击工具栏上的修改按钮(再强调一次,如果不进行导航按钮属性添加和权限赋予,这里是不会出现修改按钮的),则如下图所示:

将李三修改为李四,之后单击确定按钮,则如下图所示:

    如上图所示,这就是我们所要的修改的功能,符合我们的设计要求。但是还有一点瑕疵,那就是我们刚才单击的是序号为 Y02 的记录,但是当关闭掉修改窗体的时候,系统却自动定位到第序号为 Y01 的记录,这样做似乎不太好,如果记录太多的话,无法核实是否完成了所要的修改,下一节,我们就来实现这一功能,修改完毕之后,返回到起先选定的修改记录。

 

相关索引: 上一节 下一节



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

常见问答:

技术分类:

相关资源:

专栏作家

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