Скрыть параметры доступа - PullRequest
       3

Скрыть параметры доступа

7 голосов
/ 26 октября 2011

Я заметил, что даже если вы отключите «Использовать специальные ключи доступа», отключите «Отображать панель навигации» и отключите меню ленты, вы сможете легко получить доступ к «Параметры доступа», перейдя в текущую область базы данных, и снова включите все эти параметры.

Есть ли способ полностью скрыть параметр «Текущая база данных» в Access 2007 и 2010?

Ответы [ 4 ]

14 голосов
/ 27 июня 2012

В MS Access 2007 и MS Access 2010 вместо настройки параметров для управления доступом пользователя к приложению можно контролировать содержимое «Backstage».Все изображения и инструкции относятся к Access 2010, но 2007 год не сильно отличается.Прочитайте Сначала настройте ленту .

Backstage

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».Должно быть совершенно очевидно, какая строка относится к какой части Backstage.

Теперь вам нужно закрыть и снова открыть базу данных (Compact & Repair, вероятно, самый быстрый способ сделать это, но убедитесь, что у вас есть резервная копия).прежде чем использовать этот метод).В этом будет много открытий и закрытий.

Теперь вы можете перейти к Options-> Current Database и прокрутить вниз до параметров ленты и панели инструментов, выбрать вновь созданную ленту под названием ленты.Когда вы закрываете Options, вы получите предупреждение о том, что вы должны закрыть и открыть базу данных, чтобы изменения вступили в силу.

Когда вы это сделаете, вы больше не сможете видеть Опции за кулисами , и вы не увидите ничего, кроме списка последних баз данных.Посмотрите на XML выше, вы можете видеть, что все установлено в false.

Я считаю, что самый простой выход из ситуации - открыть таблицу USysRibbons и изменить эту строку:

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

на

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

Открыть и закрыть снова,и удалите ленту из названия ленты в разделе «Параметры».Откройте и закройте, и вы вернетесь к тому, с чего начали, более или менее.

1 голос
/ 16 мая 2019

All

Я провел много времени ... на многих сайтах ...

Вот XML, который будет:

  • Отключить QAT
  • Отключить «Параметры базы данных»
  • Отключить «Сохранить как»
  • Отключить «Закрыть» (чтобы вы могли программно контролировать, что происходит)
  • Включить только вкладку "Домой" ... Я на самом деле перестроил ее с нуля

Этот код в значительной степени «точно» выглядит как стандартная вкладка «ДОМОЙ» в MS Access 2013.

Вы можете использовать это, чтобы действительно заблокировать ваше приложение ... в сочетании с хорошим кодом для отключения специальных клавиш при запуске и т. Д.

Вот, пожалуйста,

   <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon startFromScratch="true">
       <!-- Ribbon XML -->
       <tabs>
           <tab id="dbCustomHome" label="HOME" visible="true">
           <group id="dbViews" label="Views">
                   <control idMso="ViewsSwitchToDefaultView" size="large" label="View" enabled="true"/>
               </group>
           <group id="dbClipboard" label="Clipboard">
                   <control idMso="PasteSpecial" size="large" label="Paste" enabled="true"/>
           <control idMso="Cut" label="Cut" enabled="true"/>
                   <control idMso="Copy" label="Copy" enabled="true"/>
                   <control idMso="FormatPainter" label="Format Painter" enabled="true"/>
               </group>
           <group id="dbSortFilter" label="Sort and Filter">
                   <control idMso="FiltersMenu" size="large" label="Filter" enabled="true"/>
           <control idMso="SortUp" label="Ascending" enabled="true"/>
                   <control idMso="SortDown" label="Descending" enabled="true"/>
                   <control idMso="SortRemoveAllSorts" label="Remove Sort" enabled="true"/>
                   <control idMso="SortSelectionMenu" label="Selection" enabled="true"/>
                   <control idMso="FilterAdvancedMenu" label="Advanced" enabled="true"/>
                   <control idMso="FilterToggleFilter" label="Toggle Filter" enabled="true"/>
               </group>
           <group id="dbRecords" label="Records">
                   <control idMso="DataRefreshAll" size="large" label="Refresh All" enabled="true"/>
           <control idMso="GoToNewRecord" label="New" enabled="true"/>
                   <control idMso="RecordsSaveRecord" label="Save" enabled="true"/>
                   <control idMso="Delete" label="Delete" enabled="true"/>
                   <control idMso="RecordsTotals" label="Totals" enabled="true"/>
                   <control idMso="SpellingAccess" label="Spelling" enabled="true"/>
                   <control idMso="RecordsMoreRecordsMenu" label="More" enabled="true"/>
               </group>
           <group id="dbFind" label="Find">
                   <control idMso="FindDialog" size="large" label="Find" enabled="true"/>
           <control idMso="ReplaceDialog" label="Replace" enabled="true"/>
                   <control idMso="GoToMenuAccess" label="Go To" enabled="true"/>
                   <control idMso="SelectMenuAccess" label="Select" enabled="true"/>
               </group>
           <group id="dbTextFormat" label="Text Formatting" centerVertically="true">
            <box id="TopBx">
                       <control idMso="Font" enabled="true"/>
               <control idMso="FontSize" enabled="true"/>
               <buttonGroup id="buttonGroup_TopRow">
                           <control idMso="Bullets" enabled="true"/>
                           <control idMso="Numbering" enabled="true"/>
                           <separator id="separator1" />
                           <control idMso="IndentIncrease" enabled="true"/>
                           <control idMso="IndentDecrease" enabled="true"/>
                           <separator id="separator2" />
                           <control idMso="AlignLeftToRightMenu" enabled="true"/>
                       </buttonGroup>
                    </box>
                    <box id="BottomBx">
                        <buttonGroup id="buttonGroup_BottomRow">
                           <control idMso="Bold" enabled="true"/>
                           <control idMso="Italic" enabled="true"/>
                           <control idMso="Underline" enabled="true"/>
                           <separator id="separator3" />
                           <control idMso="FontColorPicker" enabled="true"/>
                           <control idMso="TextHighlightColorPicker" enabled="true"/>
                           <control idMso="FontFillBackColorPicker" enabled="true"/>
                           <separator id="separator4" />
                           <control idMso="AlignLeft" enabled="true"/>
                           <control idMso="AlignCenter" enabled="true"/>
                           <control idMso="AlignRight" enabled="true"/>
                           <separator id="separator5" />
                           <control idMso="DatasheetGridlinesMenu" enabled="true"/>
                           <separator id="separator6" />
                           <control idMso="FontAlternateFillBackColorPicker" enabled="true"/>
                        </buttonGroup>
                    </box>
               </group>
           </tab>
       </tabs>
  </ribbon>
  <backstage>
      <tab idMso="TabSave" visible="false" > </tab>
      <button idMso="ApplicationOptionsDialog" visible="false"/>
      <button idMso="FileCloseDatabase" visible="false"/>
  </backstage>
</customUI>
1 голос
/ 23 июня 2016

Чтобы добавить к отличному ответу 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>
0 голосов
/ 04 мая 2019

Поскольку доступ к параметрам доступа через черный ход остается с помощью [Панель быстрого доступа] - [Настройка], другое простое решение, использующее тот же способ, что и Fionnuala:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...