Hi,各位同学好!我是吴明课堂的答疑老师之一陈婉。祝大家新年快乐!
今天我给大家分享的主题是在access窗体中如何为列表控件自定义右键菜单。
效果演示动图:
组成结构解析:
- 一张员工表—数据取自吴明老师《Access零基础到应用系统教程》课件;
- 一个员工列表窗体(可见)和一个修改员工窗体(隐藏);
- VBA代码。
所需技能分析:
- access表基础知识
- access窗体设计基础
- access vba语法
- access 窗体事件基础
- 少量SQL基础
关键代码展示:
'自定义员工列表快捷菜单
Private Function addUserListMenuBar()
'使用此对象需添加引用Microsoft Office 1X.0 Object Library包
Dim cmb As Office.CommandBar
Dim cmbControl As Office.CommandBarControl
Set cmb = CommandBars.Add("selfDefUserListMenuBar", msoBarPopup, False, True)
With cmb
Set cmbControl = .Controls.Add(msoControlButton)
' Change the caption displayed for the control.
cmbControl.Caption = "修改"
cmbControl.OnAction = "editUser"
Set cmbControl = .Controls.Add(msoControlButton)
' Change the caption displayed for the control.
cmbControl.Caption = "删除"
cmbControl.OnAction = "deleteUser"
End With
Set cmbControl = Nothing
Set cmb = Nothing
End Function
'打开窗口时触发
Private Sub Form_Load()
Call addUserListMenuBar
'设置员工用户列表控件的快捷菜单为自定义菜单selfDefUserListMenuBar
Me!userList.ShortcutMenuBar = "selfDefUserListMenuBar"
End Sub
'关闭窗口时触发
Private Sub Form_Unload(Cancel As Integer)
'删除添加的自定义菜单
Call deleteUserListMenuBar
End Sub
Private Function deleteUserListMenuBar()
CommandBars("selfDefUserListMenuBar").Delete
End Function
重难点分析:
- 图中案例综合应用了:表设计、窗体设计、窗体事件、VBA编程等知识模块,只有掌握了这些知识,有了扎实的基础之后,才能更高效地自学和提升自己的Access水平;
- 多练习老师在课程里教授的查阅官网API的方法。目前国内网络上,关于Access编程的参考资料实在是太少;
- 官网API需要在有很好的基础上再去研究,普通人去看等同看天书。
上述技能在吴明老师的《Access零基础到应用系统教程》中均可学到。
如需系统学习Access,可查看课程链接:吴明老师Access零基础到应用综合课
该课程可以使学员以最少的学习时间,搭建完善的数据库和Access窗体编程知识架构。
案例文档下载链接:
https://pan.baidu.com/s/1Nl3JpZW3gLUPIfD1jW2hCg
提取码:wmkt