MS Access 2010 运行时 - 连续表单中缺少鼠标右键单击上下文菜单

Posted

技术标签:

【中文标题】MS Access 2010 运行时 - 连续表单中缺少鼠标右键单击上下文菜单【英文标题】:MS Access 2010 Runtime - Missing Right Mouse Click Context Menu in continuous forms 【发布时间】:2011-12-20 11:21:48 【问题描述】:

我在 MS Access 2003 中编写了一个应用程序。我可以使用 Access 2010 运行它,但是当我仅使用 MS Access 2010 运行时打开相同的 2003 应用程序时,我不能再以连续形式使用鼠标右键单击(我可以使用完整版)按选择过滤或对数据进行排序等。有其他人遇到过这种情况吗?这是 Access 2010 的有目的的设计吗?如果是这样,有谁知道为什么右键单击内容菜单不起作用?否则 - 它是 Runtime 2010 的正常部分,我的应用程序是问题吗?

【问题讨论】:

在 Access 2003 中,这是一个启动选项。检查是否允许使用各种菜单。 【参考方案1】:

不幸的是,运行时没有启用上下文菜单,但是,您可以为您的应用程序重新创建其中的一些。

例如,我创建了一个基本的复制/剪切/粘贴上下文菜单,如下所示:

'-----------------------------------------------------------------------------'
' General Clipboard context menu, the basis for all forms                     '
'-----------------------------------------------------------------------------'
Public Function CreateGeneralClipBoardMenu()
    On Error Resume Next
    CommandBars("GeneralClipboardMenu").Delete

    Dim cmb As CommandBar
    Set cmb = CommandBars.Add("GeneralClipboardMenu", msoBarPopup, False, False)

        With cmb
            .Controls.Add msoControlButton, 21, , , True  ' Cut
            .Controls.Add msoControlButton, 19, , , True  ' Copy
            .Controls.Add msoControlButton, 22, , , True  ' Paste
        End With

    Set cmb = Nothing
End Function

只需在您的应用程序启动时调用此代码一次,上下文菜单将随处可用。

MSDN 上的Need a list of msoControlButton Ids 线程展示了如何类似地添加排序和过滤选项。

【讨论】:

【参考方案2】:

标准上下文菜单不适用于 Access 运行时版本。我已经在 Access 运行时版本 2003、2007 和 2010 中看到了这种效果。

【讨论】:

以上是关于MS Access 2010 运行时 - 连续表单中缺少鼠标右键单击上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何在连续子表单中使用未绑定复选框 - MS Access 2013

MS Access ADP 断开连接的记录集恢复

MS Access 2007 连续表格备用背景颜色屏幕损坏

在 MS Access DB 中创建临时表

MS Access 中的 .Net 用户控件

使用表单过滤交叉表查询 MS Access 2010