设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1624|回复: 13
打印 上一主题 下一主题

[Access本身] 如何捕捉单击某一菜单事件?

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-23 13:51:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自定义菜单中有一菜单名为‘压缩’并定义其动作为:
CommandBars("Tools").Controls("数据库实用工具(&D)").Controls("压缩和修复数据库(&C)...").accDoDefaultAction
当点此菜单时发生的事件是什么?
比如我如何才能得到如下结果:
If 点了‘压缩’菜单时的事件 THEN
       msgbox "将压缩数据库"
End if

[ 本帖最后由 koutx 于 2009-1-23 17:03 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-1-23 14:34:50 | 只看该作者
没必要吧,直接是按钮事件不就可以了吗?
3#
 楼主| 发表于 2009-1-23 14:39:31 | 只看该作者

回复 2# 的帖子

哪到底怎么写该事件呢?
4#
发表于 2009-1-23 14:44:27 | 只看该作者
自定义菜单我不太懂,不过我总是将这个代码直接放在主窗体的关闭事件中。因为通常是在关闭时有对这个功能的需求。
5#
 楼主| 发表于 2009-1-23 15:30:32 | 只看该作者

回复 4# 的帖子

看来问题不难可挺麻烦的。
6#
 楼主| 发表于 2009-1-23 16:51:03 | 只看该作者
如能得到单击菜单中某一Control的事件,也可以解决这个问题。
如当单击CommandBars("myMenu").Controls(3).Controls(1)时。
7#
发表于 2009-1-23 20:22:01 | 只看该作者
把msgbox "将压缩数据库"写在压缩代码的前面不就行了。
8#
 楼主| 发表于 2009-1-23 20:56:17 | 只看该作者
不行啊,点击该菜单是压缩数据库,而我是想在一个常驻窗体的UnLoad事件中引用此菜单的点击事件,即:如果是因点击此菜单压缩而导致的该窗体关闭时则发生Msgbox通知。
听说通过菜单项的事件ID可以获得鼠标点击了哪一个菜单项,但搜不到具体代码,还请版主帮忙啊。
9#
发表于 2009-1-23 21:09:46 | 只看该作者
把例子传上来看看
10#
发表于 2009-1-23 21:17:14 | 只看该作者
Set cbCommandbar = Application.CommandBars.Add(gsMENU_BAR, , True, True)
    '登录
    Set oPopup = cbCommandbar.Controls.Add(msoControlPopup)
    With oPopup
        .Caption = "菜单"


        '重新登陆
        Set oButton = .Controls.Add(msoControlButton)
        With oButton
            .Caption = "压缩"
            .Enabled = True
            .
        End With

将Msgbox,压缩程序都写在 “压缩过程”这个字程序即可,其他地方要调用 "压缩过程",只要直接调用子程序即可!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 02:14 , Processed in 0.108873 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表