Как сделать меню в access?

Для создания меню в Access проделайте следующие действия:

  1. Откройте окно Настройка (Customize), например, щелкнув правой кнопкой мыши по панели инструментов и выбрав команду Настройка (Customize). Таким способом осуществляется переход в режим настройки панелей команд.
  2. По умолчанию открывается вкладка Панели инструментов (Toolbars). Если у вас открылась другая вкладка, раскройте именно эту вкладку. Пока в списке на этой вкладке отображаются только стандартные панели команд. К этому списку нужно добавить новую панель команд типа Строка меню (Menu Bar). Нажмите кнопку Создать (New).
  3. В диалоговом окне, запрашивающем имя создаваемой панели команд, введите название: Главное меню (рис. 14.23) и нажмите кнопку ОК.

Рис. 14.23. Создание новой панели команд

  1. Появится маленькая пустая панель, которая по умолчанию является панелью инструментов. Чтобы превратить ее в строку меню, необходимо изменить ее тип. Для этого выделите элемент Главное меню в списке на вкладке Панели инструментов (Toolbars) (он добавляется в конец списка) и нажмите кнопку Свойства (Properties). Откроется диалоговое окно Свойства панели инструментов Properties (рис. 14.24).
  2. В раскрывающемся списке тип (Туре) выберите значение Строка меню (Menu Bar).

Рис. 14.24. Диалоговое окно Свойства панели инструментов

Кроме типа, для данной панели команд можно задать еще ряд свойств:

  • закрепление (Docking). Можно задать расположение панели команд на экране: в любом месте, только по горизонтали, только по вертикали или вообще запретить его изменять.
  • отображение в меню (Show on Toolbars Menu). Установите этот флажок, если вы хотите, чтобы название этой панели команд отображалось в списке, появляющемся при выполнении команды меню Вид, Панели инструментов (View, Toolbars).
  • настройка (Allow Customizing). Сброс этого флажка запретит изменение данной панели команд.
  • изменение размера (Allow Resizing). Если этот флажок не установлен, изменение размеров данной панели команд будет не возможно.
  • перемещение (Allow Moving). Сбросьте этот флажок, если нужно запретить перемещение панели команд по экрану.
  • отображение и скрытие (Allow Showing/Hiding). Когда этот флажок сброшен, пользователь не будет иметь возможности скрывать и снова отображать панель команд на экране.

Сейчас мы не будем менять установленные по умолчанию значения и, изменив только тип, закроем это окно.

Пока наша строка меню пустая. Теперь в нее можно добавить меню — списки команд, раскрывающиеся при выборе меню в строке меню или на панели инструментов. Чтобы добавить меню на панель команд:

  1. Раскройте вкладку Команды (Commands) в диалоговом окне Настройка (Customize).
  2. Выделите в списке Категории (Categories) значение Новое меню (New Menu).
  3. Перетащите элемент Новое меню (New Menu) из списка Команды (Commands) на новую панель.

Теперь вы увидите на ней элемент Новое меню (New Menu) (рис. 14.25).

Рис. 14.25. Создание пользовательского меню

Изменить название созданного меню можно в окне свойств. Для этого необходимо щелкнуть правой кнопкой мыши по меню и выбрать в контекстном меню команду Свойства (Properties). Появится диалоговое окно Свойства элемента Главное меню (Control Properties) (рис. 14.26).

Рис. 14.26. Диалоговое окно Свойства элемента Главное меню

В этом окне можно задать следующие значения:

  • В поле подпись (Caption) введите название меню: Клиенты.
  • В поле всплывающее сообщение (ScreenTip) можно ввести текст всплывающей подсказки.
  • Поле действие (On Action) следует оставить пустым. Обычно оно определяет действие, выполняемое при выборе данного элемента панели команд. При выборе меню Клиенты должен раскрываться список команд данного меню. Это будет выполняться автоматически, т. к. в качестве элемента строки меню мы добавили меню.
  • Поле стиль (Style) позволяет определить вид элемента панели команд, в данном случае — меню. Раскрывающийся список имеет следующие значения:
    • По умолчанию (Default Style) — на элементе меню выводятся одновременно значок и надпись;
    • Только текст (всегда) (Text only (Always)) — и на элементе меню и на кнопке выводится только надпись;
    • Только текст (в меню) (Text only (In Menus)) — выводится надпись на элементе меню и значок на кнопке;
    • Рисунок и текст (Image and Text) — и на элементе меню и на кнопке выводится как значок, так и надпись.
  • Два поля — файл справки (Help File) и идентификатор справки (HelpContextlD) — позволяют связать с данным элементом панели команд раздел из справочной системы приложения, который будет отображаться при нажатии клавиши , если данный элемент выделен.
  • Поле параметр (Parameter) связано с полем действие (On Action) и определяет значение аргумента функции, если в поле действие (On Action) определен вызов функции. В данном случае оно тоже остается пустым.
  • В поле дополнительные сведения (Tag) можно ввести информацию, которая может быть доступна из процедуры VBA.
  • Установленный флажок Создать группу (Begin a Group) означает, что данный элемент панели команд является началом группы и слева от него (в этом случае в строке меню) будет отображаться разделительная линия.

Закройте окно Свойства элемента меню и будем добавлять в меню команды. Для этого можно использовать ту же вкладку Команды (Commands) диалогового окна Настройка (Customize). Выбрав категорию, а затем команду из выбранной категории, можно перетащить ее в данное меню. Например:

  1. Выберите категорию Все формы (All Forms).
  2. Перетащите в меню те формы, которые мы использовали при создании кнопочной формы в предыдущем разделе: «Клиенты» (Customers), «Наклейки для клиентов» (Customer Label Dialog), «Телефоны клиентов» (Customer Phone List), «Заказы клиентов» (Customer Orders) (рис. 14.27).

Рис. 14.27. Добавление команд в меню

Совет

Перед тем как перетаскивать первую команду в меню, щелкните по нему правой кнопкой — около него отобразится маленькая серая панель пустого меню. Туда и нужно перетащить первую команду. При перетаскивании остальных команд место вставки помечается горизонтальной линией. Новая команда размещается под этой линией. При вставке меню в строку меню место вставки помечается вертикальной линией. Новое меню размещается справа от этой линии.

Чтобы добавить в строку меню следующее меню со списком команд, нужно снова выбрать на вкладке Команды (Commands) диалогового окна Настройка (Customize) категорию Новое меню (New Menu), затем элемент Новое меню (New Menu) и перетащить его в данное меню, поместив его справа от первого элемента. Чтобы изменить вид меню или подменю, щелкните по соответствующему элементу правой кнопкой мыши. Можно использовать команды появившегося при этом контекстного меню или открыть окно Свойства элемента (Control Properties).

Удаление меню выполняется очень просто. Достаточно в режиме настройки панелей команд перетащить соответствующий элемент в пустую область окна Microsoft Access. Аналогично можно перетаскивать подменю и команды меню из одних меню в другие, также можно команду меню превратить в кнопку на панели инструментов и наоборот. Поскольку меню и панели инструментов являются разными типами одного объекта — панели команд, на панели инструментов можно размещать меню, а в строку меню можно добавлять кнопки.

Замечание

Выполнять все описанные действия можно только в режиме настройки панелей команд, т. е. при открытом окне Настройка (Customize).

Чтобы окончательно придать меню профессиональный вид (как в стандартном меню Access), необходимо каждому меню и команде меню назначить клавиши доступа. Буквы, соответствующие этим клавишам, выделяются в названии элемента подчеркиванием. Клавиши доступа используются следующим образом. Для того чтобы раскрыть меню, нужно при нажатой клавише нажать клавишу, соответствующую подчеркнутой букве в названии этого меню. Например, комбинация клавиш +«Ф» (+) раскрывает меню Файл (File). Далее, чтобы выбрать команду меню, достаточно просто нажать клавишу, соответствующую подчеркнутой букве в названии команды.

Чтобы указать символ, который будет определять клавишу доступа, нужно в имени команды (в поле подпись (Caption) окна свойств элемента меню) вставить перед этим символом знак &, например «&Товары». При этом в разных командах одного меню должны быть использованы обязательно разные символы, определяющие клавиши доступа, хотя в разных меню символы могут совпадать.

Всем привет!

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

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

Как создать пункты меню
как сделать меню в access

Чтобы сюда попасть можно выбрать пункт меню MS Access «Сервис — Настройка» или кликнуть в пустом месте меню и в контестном меню выбрать пункт «Настройка».

как сделать меню в access

Теперь все внимание на вкладку «Команды» нового окошка.

В категории «Файл» вы найдете пункт меню «Специальная». Это рабочая лошадка меню. На самом деле это кнопка.

как сделать меню в access

В категории «Новое меню» найдете выпадающее меню «Новое меню». На самом деле это поле с выпадающим списком.

Еще в категории «Все формы» и т.п. вы найдете соостветственно готовые пункты меню. У них есть свои особенности. Об этом ниже.

Это все «многообразие» элементов можно при помощи перетаскивания перенести на свою строку меню или панель инструментов (я надеюсь вы прочитали предыдущую статью и знаете как это делать).

как сделать меню в access

Как выполнить действие
Тут самое интересное. Только не закрывайте чудесное окошко «Настройка». Кликните правой кнопочкой мыши на любом пункте меню (не список!) и в контекстном меню выберете пункт «Свойства». У вас откроется следующее окошко:

как сделать меню в access

Все поля содержат описание и понятны. При помощи этого пункта меню можно вызвать любую функцию из модуля, написав так =MyFunction(). Чаще всего я использую именно этот способ, т.к. частенько формы открываются с какими-то параметрами.

Особенности открытия форм
А теперь давайте таким же образом откроем пункт меню, созданный перетаскиванием пункта из группы «Все формы», например.

как сделать меню в access

В свойстве «Параметр» вы обнаружите имя формы. Так вот, если прописать это же имя в пункте меню из группы «File», то форма не откроется. Вот такой чудесный нюанс.

В следующий раз опишу о программном создании и управлении меню.

До встречи!

(с) Скоков Сергей

Подписаться на: RSS или e-mail рассылку или добавить в ЖЖ друзья.

Вот так примерно выглядит редактирование кнопок меню для новой вкладки в Microsoft Access 2016.



Public Function funCreateMenu(strMenu As String) As Boolean

        Dim myBar As CommandBar

        ‘Создаем панель меню

        myBar = appAccess.CommandBars.Add(strMenu, msoBarTop, True)

        funCreateMenuControls strMenu ‘ Создаем кнопки меню

        myBar.Visible = True ‘Отображаем меню

        funCreateMenu = True ‘Возвращаем результат

End Function

Создание кнопок меню

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

Public Function funCreateMenuControls(strMenu As String) As Boolean

    Dim but As CommandBarButton

    ‘Добавляем первую кнопку

    but = appAccess.CommandBars(strMenu).Controls.Add(msoControlButton)

    With but

        .BeginGroup = True ‘Начинаем размещение с начала группы

        .FaceId = 1 ‘Устанавливаем код кнопки

        .Style = msoButtonCaption ‘Выбираем стандартный тип

        .Caption = «Справка» ‘Называем кнопку

        .OnAction = «funCreateNewHelp» ‘Определяем программу справки

    End With

    ‘Добавляем вторую кнопку

    but = appAccess.CommandBars(strMenu).Controls.Add(msoControlButton)

    With but

        .Caption = «Помощник» ‘Называем кнопку

        .Style = msoButtonCaption ‘Выбираем стандартный тип

        .FaceId = 2 ‘Устанавливаем код кнопки

        .OnAction = «funCreateAssistant» ‘Определяем программу помощника

    End With

    funCreateMenuControls = True ‘Возвращаем результат

End Function



Заключение

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

  • названия функций давайте только на английском языке, могут возникнуть проблемы в сложных программах;

  • старайтесь почаще их комментировать, тогда Вам легче будет разбираться в их структуре;

  • не старайтесь писать очень большие базы данных, размер ее – это не показатель качества;

Posted by admin on 16.04.2014 in

Office 2013

|

Проблема. В среде MS Access сделана программа (.MDB) со своим  интерфейсом. Там свои кнопки, и на экране не нужны ни меню, ни что-то еще лишнее от среды Access. Чтобы избавиться от строки меню Access, создано пользовательское пустое меню и оно задано в качестве меню по умолчанию. Все было нормально в версиях Access 97, 2000, 2003 (в режиме 2000). В связи с репрессиями MS относительно устаревших систем Windows XP/Office 2003, захотелось запускать эту же программу под управлением Access 2013. Но в Access 2013 на экране остается бессмысленно занятым пространство под две широкие полосы с меню ФАЙЛ (интерфейс Backstage), аватаркой, именем текущего пользователя и панель быстрого доступа (на скриншоте область выделена голубым). На самом деле меню быстрого доступа можно встроить в строку заголовка и убрать из него все пункты, но оно все равно остается, и пользователь может сам его снова наполнить, а это совершенно ни к чему. Вопрос: “Как избавиться от меню ФАЙЛ (представление Backstage) и от меню быстрого доступа, причем, желательно только для текущей БД, т.е программно или настройками именно этой программы.”

Долго искал ответ, но так и не найдя его написал в техподдержку микрософт: russia@microsoft.com. В ответ получил, буквально, следующее:

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

C уважением, Шнидров Пётр.

Так бы и дал бы в морду за такой “ответ”, но руки коротки.

Естественно я писал на оба эти форума (technet.microsoft.com и answers.microsoft.com), но не получил ни одного ответа. А решается все достаточно просто, причем, штатными средствами. Плохо, что техподдержка МС об этом не знает. За что мы только им платим…

1. В текст программы, например, в процедуру “Load” первой загружаемой формы добавляем одну единственную строку:

DoCmd.ShowToolbar "Ribbon", acToolbarNo

2. Но тут есть ВАЖНЫЙ нюанс. Как ни странно, но для того, чтобы этот код работал, т.е. выключал ленту, она обязательно должна быть включена в настройках: ФАЙЛ — Параметры — Текущая база данных — раздел «Параметры ленты и панелей инструментов» — флажок «Встроенные панели инструментов». Если этот флажок сброшен, то код из первого пункта работать НЕ будет.

как сделать меню в access

Прежде чем писать в техподдержку и форумы, я еще обратился за помощью к нашему “персональному” техническому консультанту Игорю Стенину, который приезжал знакомиться вместе с нашим персональным менеджером. При встрече Игорь сказал, что к нему можно обращаться по любым техническим вопросам. Так он вообще, прикрывая некомпетентность, прикинулся религиозным фанатиком: “Я правильно понял, Вы хотите избавиться от того, что является основой идеологии?”

На самом деле, я добавил себе в код программы не одну строку, а несколько:

   'Для 2010/2013 отключаем Ленту и меню ФАЙЛ     Dim vrs As Double: vrs = Val(Application.Version)     If vrs >= 14 Then         DoCmd.ShowToolbar "Ribbon", acToolbarNo     End If

Метки: Access

2.0K

10 сентября 2004 года

Bereza

44 / / 01.04.2004

Цитата:

Originally posted by Ashtray
Хочется узнать.
Есть база Access в ней все убрано меню, тулбары. Только один тулбар, сделанный в ручную и только его видно. Так вот можно ли в такой ситуации сделать еще один тулбар или (что лучше) на имеющийя подцепить еще одну кнопочку (естественно программно). И вообще, в принцепе, можно ли как нибудь все стандартные менюшки и тулбарчики вернуть на место.

Если запускать mdb c shiftom то загружается обычное меню , для отладки.

Вот пример для создания своего меню

Dim MyMenuBar As CommandBar

Set MyMenuBar = CommandBars.Add(Name:=»Меню», MenuBar:=True, temporary:=True)

With MyMenuBar
.Visible = True

With .Controls

With .Add(Type:=msoControlPopup)

.Caption = «Справочники»
With .Controls
With .Add(Type:=msoControlButton)
.Caption = «Товары»
.Style = msoButtonCaption
.TooltipText = «Ввод товаров»
.OnAction = «=OpenForm()»
.Parameter = «frmTov»

End With

end with
end with
end with
end with

MenuBar (или temporary) отвечают за замещение основного меню или нет