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










