2011-10-26 49 views
5

我注意到,即使你禁用“使用访问特殊键”,虽然,禁用“显示导航窗格”,并禁用丝带菜单,你可以很容易地访问“访问选项”转到当前数据库区域,并重新启用所有这些选项。隐藏访问选项

有没有办法完全隐藏在Access 2007年和2010年的“当前数据库”选项?

+1

你想走多远?通过禁止包括shift键在内的所有内容,可以完全锁定数据库中不断变化的选项等。 – Fionnuala

+0

查看http://stackoverflow.com/questions/7683216/ms-access-start-up-properties/7687070#7687070 – Fionnuala

+0

我已经有一个Access应用程序编辑数据库属性“AllowBypassKey”,所以Shift键没有工作。我只是想能够以某种方式禁用“当前数据库”选项窗口。 – Rick

回答

12

在MS Access 2007和MS Access 2010中,而不是setting options来控制用户对应用程序的访问,可以控制“后台”的内容。所有图像和说明适用于Access 2010,但2007并没有太大的不同。首先阅读Customize the Ribbon

后台

enter image description here

首先,右键单击导航栏导航窗格的顶部,然后单击快捷菜单上的导航选项。在“导航选项”对话框的“显示选项”下,选中“显示系统对象”复选框,然后单击“确定”。这将允许您查看您创建的表格。请注意,这适用于所有数据库,因此您可能希望在完成后将其切换回。

接下来,在选项下,选择客户端设置和向下滚动到一般。您将看到显示加载项用户界面错误,请确保它已被选中。

您将需要一个表叫USysRibbons:

Create Table USysRibbons (ID Counter Primary Key, 
          RibbonName Text(255),RibbonXml Memo) 

你可能想唯一索引添加到RibbonName,否则你可以用一个以上的色带具有相同名称的结束。

你需要一些XML,你可以剪切并粘贴到新创建的表。

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <ribbon startFromScratch="false"> 
     <!-- Ribbon XML --> 
    </ribbon> 
    <backstage> 
    <button idMso="FileSave" visible="false"/> 
    <button idMso="SaveObjectAs" visible="false"/> 
    <button idMso="FileSaveAsCurrentFileFormat" visible="false"/> 
    <button idMso="FileOpen" visible="false"/> 
    <button idMso="FileCloseDatabase" visible="false"/> 
    <tab idMso ="TabInfo" visible="false"/> 
    <tab idMso ="TabRecent" visible="false"/> 
    <tab idMso ="TabNew" visible="false"/> 
    <tab idMso ="TabPrint" visible="false"/> 
    <tab idMso ="TabShare" visible="false"/> 
    <tab idMso ="TabHelp" visible="false"/> 
    <button idMso="ApplicationOptionsDialog" visible="false"/> 
    <button idMso="FileExit" visible="false"/> 
    </backstage> 
</customUI> 

将功能区名称设置为“BackstageCustom”。应该很明显哪一行涉及后台的哪一部分。

您现在必须关闭并重新打开数据库(Compact &修复可能是最快的方法,但在使用此方法之前请确保您有备份)。这里会有很多开幕式和闭幕式。

你现在可以去选项 - >当前数据库和向下滚动到功能区和工具栏选项,选择在功能区名称新创建的色带。当您关闭选项时,您将收到警告,您必须关闭并打开数据库才能使更改生效。

当你这样做时,你的将不再能够看到在后台选项,除了最近的数据库列表,你也不会看到很多。看看上面的XML,你可以看到一切都设置为false。

我认为最简单的出路的情况是打开USysRibbons表并更改该行:

<button idMso="ApplicationOptionsDialog" visible="false"/> 

<button idMso="ApplicationOptionsDialog" visible="true"/> 

打开并再次关闭,并从功能区功能区名称,在选项下。打开和关闭,你回到你开始的地方,或多或少。

+0

这适用于Access 2007,但在“自定义快速访问工具栏”向下箭头中,我可以访问“更多命令...”,并有权访问“访问选项”和当前数据库。在Access 2010中,在文件下,我有“隐私选项”,可直接将我引导至“访问选项”以及“更多命令...”。 – Rick

+0

您可以从头开始更改为true,除非确保您有其他色带,否则应该会导致应用程序无法使用。这是一个非常大的课题。所有的色带都可以定制,AFAIK。另见http://www.accessribbon.de/en/?Access_-_Ribbons:Ribbon_XML___Controls:QAT。 – Fionnuala

+0

给未来的读者一个提示 - ''将停止快速访问工具栏的运行(这可能是需要的)。我花了一段时间才弄清楚这一点。很好的回答@Remou。 – enderland

0

要添加到Fionnuala的出色答案,Access 2013在FILE菜单中有不同的选项,因此需要稍微修改XML。完全按照答案进行操作,但用此替换XML,这隐藏了“选项”菜单并保留“打印并退出”。

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> 
    <ribbon startFromScratch="false"> 
     <!-- Ribbon XML --> 
    </ribbon> 
    <backstage> 
    <button idMso="ApplicationOptionsDialog" visible="false"/> 
    </backstage> 
</customUI>