Как Сделать Меню В Access
Чтобы окончательно придать меню профессиональный вид (как в стандартном меню Access), необходимо каждому меню и команде меню назначить клавиши доступа. Буквы, соответствующие этим клавишам, выделяются в названии элемента подчеркиванием. Клавиши доступа используются следующим образом. Для того чтобы раскрыть меню, нужно при нажатой клавише ALT нажать клавишу, соответствующую подчеркнутой букве в названии этого меню. Например, комбинация клавиш ALT + Ф (ALT + F) раскрывает меню Файл (File). Далее, чтобы выбрать команду меню, достаточно просто нажать клавишу, соответствующую подчеркнутой букве. Ниже будут рассмотрены средства Access, позволяющие автоматизировать контроль связной целостности и сделать загрузку базы данных простой и удобной процедурой. К таким средствам в первую очередь относятся Схема данных и Форма. Кроме того, в Access 2010 может быть использовано та-кое простое средство, как отображение в главной таблице записей подчи-ненных таблиц нескольких уровней. Приложение B. Данные таблиц БД «Учебный процесс».. Панель форматирования Формат (Фор-ма/ Отчет) может быть вызвана при активном окне формы по команде меню Вид Панели инструментов Формат (Форма/Отчет). Создание заголовка.
Тематика: Создание меню Закройте окно Свойства элемента меню и будем добавлять в меню команды. Для этого можно использовать ту же вкладку Команды (Commands) диалогового окна Настройка (Customize). Выбрав категорию, а затем команду из выбранной категории, можно перетащить ее в данное меню. Например:. Выберите категорию Все формы (All Forms). Перетащите в меню те формы, которые мы использовали при создании кнопочной формы в предыдущем разделе: ' Клиенты' (Customers), ' Наклейки для клиентов' (Customer Label Dialog), ' Телефоны клиентов' (Customer Phone List), ' Заказы клиентов' (Customer Orders) (рис.
Добавление команд в меню Совет Перед тем как перетаскивать первую команду в меню, щелкните по нему правой кнопкой – около него отобразится маленькая серая панель пустого меню. Туда и нужно перетащить первую команду. При перетаскивании остальных команд место вставки помечается горизонтальной линией. Новая команда размещается под этой линией.
При вставке меню в строку меню место вставки помечается вертикальной линией. Новое меню размещается справа от этой линии. Чтобы добавить в строку меню следующее меню со списком команд, нужно снова выбрать на вкладке Команды (Commands) диалогового окна Настройка (Customize) категорию Новое меню (New Menu), затем элемент Новое меню (New Menu) и перетащить его в данное меню, поместив его справа от первого элемента. Чтобы изменить вид меню или подменю, щелкните по соответствующему элементу правой кнопкой мыши. Можно использовать команды появившегося при этом контекстного меню или открыть окно Свойства элемента (Control Properties).
Удаление меню выполняется очень просто. Достаточно в режиме настройки панелей команд перетащить соответствующий элемент в пустую область окна Microsoft Access. Аналогично можно перетаскивать подменю и команды меню из одних меню в другие, также можно команду меню превратить в кнопку на панели инструментов и наоборот. Поскольку меню и панели инструментов являются разными типами одного объекта – панели команд, на панели инструментов можно размещать меню, а в строку меню можно добавлять кнопки. Замечание Выполнять все описанные действия можно только в режиме настройки панелей команд, т. При открытом окне Настройка (Customize).
Чтобы окончательно придать меню профессиональный вид (как в стандартном меню Access), необходимо каждому меню и команде меню назначить клавиши доступа. Буквы, соответствующие этим клавишам, выделяются в названии элемента подчеркиванием. Клавиши доступа используются следующим образом.
Для того чтобы раскрыть меню, нужно при нажатой клавише ALT нажать клавишу, соответствующую подчеркнутой букве в названии этого меню. Например, комбинация клавиш ALT + Ф ( ALT + F) раскрывает меню Файл (File). Далее, чтобы выбрать команду меню, достаточно просто нажать клавишу, соответствующую подчеркнутой букве в названии команды. Чтобы указать символ, который будет определять клавишу доступа, нужно в имени команды (в поле Подпись (Caption) окна свойств элемента меню) вставить перед этим символом знак &, например '&Товары'.
При этом в разных командах одного меню должны быть использованы обязательно разные символы, определяющие клавиши доступа, хотя в разных меню символы могут совпадать.
Добро пожаловать в форум, Guest / Топик располагается на нескольких страницах: 1 Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 Всем добрый день! Есть необходимость для одной формы изменить контекстное меню или создать новое (являющееся сокращенной версией старого). Боле подробно - при нажатии правой кнопкой на поле формы, выпадает список: Копировать, Вставить, Сортировать по возрастанию, Сортировать по убыванию, Фильтр.
При выборе опции 'Фильтр', получаем другой список: Равно, Не равно, Больше, Меньше. Так вот, хочу, чтобы в этом меню или были недоступны для выбора некоторые опции (например, чтобы пользователь не мог выбрать тип фильтра 'Не равно') или создать новое меню, в котором прописать, что при выборе опции 'Фильтр' выпадает меню, которое содержит только Больше и Меньше, например. Как лучше поступить в данном случае? Заранее всем спасибо! 28 ноя 13, 13:52 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 Причем еще надо учитывать, что это меню должно быть разное в зависимости от типа поля (например, опция фильтра 'Содержит' только для текстовых полей) 28 ноя 13, 13:55 Re: Как изменить контекстное меню Access 2013?
new Member Откуда: Харьков Сообщений: 392 Здравствуйте, Пока у меня не возникала задача в изменении встроенных контекстных меню. Тем не менее тему 'прощупывал'. Если не говорить о CommandBar, то создавать свои контексные меню вы не можете. Эту возможность Microsoft пока не предоставляет. Но возможность до определенной степени видоизменять встроенные контекстные меню есть. Вот тут пример: Т.е.
Задача сводится к тому, чтобы узнать как называется то меню, которое вы хотите видоизменять, и имена его контролов. Ну а потом, собственно, нужно управлять нужными вам свойствами. Не смотря, на то, что по приведенной мной ссылке нельзя понять однозначно, можно ли управлять доступом к контролам меню или нам доступно только управление их видимостью, мне кажется, что доступом все же управлять можно. Я просто ориентируюсь на то, что использованный мной стандартный контрол-кнопка 'Вставить' нормально реагирует на попытку управления доступа к ней: Если вы эту тему не бросите, буду благодарен, если найдете и поделитесь ресурсом, где будут перечислена имена всех встроенных контекстных меню Access и их контролов.
Это и мне может пригодится. Сергей 29 ноя 13, 00:03 Re: Как изменить контекстное меню Access 2013?
Как Сделать Презентацию
new qwerty112 Guest Вакшуль Сергей.создавать свои контексные меню вы не можете. Эту возможность Microsoft пока не предоставляет. Даа, не 'пока' - а УЖЕ не предоставляет. 29 ноя 13, 00:06 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Харьков Сообщений: 392 qwerty112, т.е. Я называю стандартными те, которые ими являются с 2007-ого. Вопрос был по Access 2013 Сергей 29 ноя 13, 00:17 Re: Как изменить контекстное меню Access 2013?
new qwerty112 Guest Вакшуль Сергей qwerty112, т.е. Я называю стандартными те, которые ими являются с 2007-ого. Вопрос был по Access 2013 Сергей я ничего про то, что вы называете 'стандартными' - не говорю я говорю про 'создавать свои контексные меню' я, в глаза не видел А95 и А97, но и в А2000, и в А2003 - такая возможность была, и ей 'невозбранно' пользовались. Вот как бы об этом.
29 ноя 13, 00:29 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Харьков Сообщений: 392 qwerty112, Крик души?:) 29 ноя 13, 00:33 Re: Как изменить контекстное меню Access 2013? new qwerty112 Guest Вакшуль Сергей qwerty112, Крик души?:) нет, изначально - 'поправка' неофита 29 ноя 13, 00:41 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Харьков Сообщений: 392 CommandBar пока не отменили 29 ноя 13, 00:47 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 Вакшуль Сергей, Итак, используя CommandBar создала свои контекстные меню. Назначила их формам.
Возник один вопрос. У меня табличная форма. Фильтр я могу в ней поставить, нажав правой кнопкой в форме и выбрав вариант из созданного мной контекстного меню, или нажав левой кнопкой на стрелочку рядом с названием столбца и выбрав там тип фильтра из стандартного меню.
Так вот, я хочу отключить второй вариант, но чтобы первый при этом работал. Я пыталась установить для формы свойство Shortcut Menu - No. Отключались оба способа. И мое контекстное меню, и меню, вызываемое по левой кнопке.
Как решать данную проблему? 29 ноя 13, 13:15 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 Вакшуль Сергей, я создала Shortcut Menu, основываясь на этих примерах: url=/url Только пока не разобралась, как сделать подменю. Например, Фильтр-Больше, Меньше, Между. Вы еще спрашивали по поводу номеров контролов - посмотрите вот здесь - url=/url я там все, что нужно нашла. 29 ноя 13, 13:21 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 VerochkaS.
Только пока не разобралась, как сделать подменю. Например, Фильтр-Больше, Меньше, Между. Сначала в бар добавляется контрол со значением типа =10, а уже к нему добавляются контролы со значением типа =1. 29 ноя 13, 13:33 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Харьков Сообщений: 392 VerochkaS, Если вам нужно вывести конт.меню по клику на определенном поле, например, 'Наименование', то его можно выводить так: Private Sub НаименованиеMouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim cmbMenu As Office.CommandBar If Button = 2 Then Set cmbMenu = CommandBars('ИмяВашегоМеню') cmbMenu.ShowPopup End If End Sub В этом случае прописывать созданное вами меню в соотв.св-ве формы не нужно. Кстати, возвращаясь к направлению, по которому я вас сначала отправил, а именно - модификация стандартного контекстного меню. А ведь в том файле, что вы указали, нет имен контекстных меню Access.
Плохой знак:) Плохо и то, что в след.куске xml кода к слову 'ribbon' редактор xml имеет претензии, подчеркивая его А стоит блок contextMenus убрать из кода, как претензии снимаются. Посмотрим, что Microsoft на это скажет. 30 ноя 13, 02:33 Re: Как изменить контекстное меню Access 2013?
new Member Откуда: Сообщений: 117 Вакшуль Сергей, Вакшуль Сергей VerochkaS, Если вам нужно вывести конт.меню по клику на определенном поле, например, 'Наименование', то его можно выводить так: Private Sub НаименованиеMouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim cmbMenu As Office.CommandBar If Button = 2 Then Set cmbMenu = CommandBars('ИмяВашегоМеню') cmbMenu.ShowPopup End If End Sub В этом случае прописывать созданное вами меню в соотв.св-ве формы не нужно. А я примерно так и делаю!
Отключаю все контестные меню. На событие поля вешаю процедуру Private Sub clidMouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = acRightButton Then Call CreateMyShortcutMenu CommandBars( 'MyShortcutMenu').ShowPopup End If End Sub Только я добавила вызов процедуры, которая создает меню (вернее пересоздает). Процедуру, которая основана на той статье, которую я Вам советовала, я сделала Public и добавила в ее начало strCBarName = 'MyShortcutMenu' Application.CommandBars(strCBarName).Delete Почему я пересоздаю меню, спросите Вы. Потому что мне нужно будет это меню для разных типов полей (текст, число, дата), а для разных типов полей разные виды фильтров (немного отличаются), поэтому выбирала между созданием трех разных меню и созданием одного пересоздающегося в зависимости от типа поля. Пока это тест, может, потом сделаю 3 разных. Кстати, насколько я поняла, когда я запустила макрос на создание меню, оно создалось и, по идее, когда я закрываю базу и потом опять отрываю, оно остается? Или я на запуск базы должна прописать выполнение этой процедуры?
Просто у меня несколько раз после перезапуска базы это меню терялось, а иногда нет. Очень странно. А по поводу таблички с контролами, по-моему, там все просто - я в первом столбце ищу по названию то, что мне надо, и беру ИД из предпоследнего столбца.
Все работает! 30 ноя 13, 14:47 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 Чрезмерно расточительно создавать контекстное меню на каждый клик мышки по полю. 30 ноя 13, 14:57 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 nord-woolf, я уже об этом подумала и нашла выход - создам одно, но буду скрывать ненужные элементы с помощью CommandBars( 'MyShortcutMenu').Controls(2).Visible = False перед CommandBars( 'MyShortcutMenu').ShowPopup Так же лучше будет? А подскажите, чтобы создать меню, 1 раз только макрос надо запустить?
Не надо при каждом открытии базы это делать? А то у меня иногда пропадали эти меню почему-то. Надо было еще раз запускать 30 ноя 13, 15:26 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 Я создаю необходимые контекстные меню для формы один раз на открытии каждого инстанса формы, при закрытии удаляю. Это тоже расточительно, но мне так нужно для других целей.
30 ноя 13, 15:37 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 Контекстные меню должны быть ситуационно-зависимые. У меня Visible всегда True, Enable по ситуации.
30 ноя 13, 15:41 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 VerochkaS.
А то у меня иногда пропадали эти меню почему-то. У меня тоже пропадали, в версии А2002, по-моему.
Уже не помню почему, может просто руки кривые. Потому перешел на создание временных контекстных меню. 30 ноя 13, 15:45 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 nord-woolf Контекстные меню должны быть ситуационно-зависимые.
У меня Visible всегда True, Enable по ситуации. Так я и хочу такие. Только мне кажется, лучше скрывать то, что не надо. Например, если пользователь хочет поставить фильтр по полю с типом 'дата', не надо ему видеть тип фильтра 'содержит', даже если этот тип Enable=False будет. Лучше просто скрыть. Nord-woolf Я создаю необходимые контекстные меню для формы один раз на открытии каждого инстанса формы, при закрытии удаляю. Это тоже расточительно, но мне так нужно для других целей.
Создаете меню при открытии формы и удаляете при закрытии? Тогда мне лучше, наверно, это сделать на открытие и закрытие базы?
30 ноя 13, 15:56 Re: Как изменить контекстное меню Access 2013? new Member Откуда: And God I know I'm one Сообщений: 4896 Если алгоритм позволяет создавать одно меню на все инстансы форм - можно попробовать один раз.
Если создавать Temporary=True, то даже удалять не придется. 30 ноя 13, 16:14 Re: Как изменить контекстное меню Access 2013?
new Member Откуда: Сообщений: 117 nord-woolf, ОК, спасибо! Так и сделаю. 30 ноя 13, 16:45 Re: Как изменить контекстное меню Access 2013?
new Member Откуда: Сообщений: 117 nord-woolf, я, кстати, поняла, почему у меня при перезагрузке базы пропадали эти меню! - я как раз и ставила temporary=true!
30 ноя 13, 16:52 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Харьков Сообщений: 392 VerochkaS, VerochkaS А по поводу таблички с контролами, по-моему, там все просто - я в первом столбце ищу по названию то, что мне надо, и беру ИД из предпоследнего столбца. Все работает!
Вы меня наверно не так поняли. Есть старый подход, вы им и пошли - использование объекта CommandBars.
С переходом MS Office на новый UI, появилась возможность модифицировать предлагаемый по умолчанию интерфейс, в частности стандартные контекстные меню. Но это общие фразы. Если в отношении Word и Excel это справедливо, то в отношении Access для меня это пока под вопросом. В файле, на который вы ссылаетесь, нет имен встроенных контекстных меню. Что это значит? Первое, что приходит в голову - разработчику пока не дают к ним доступ.
Но это только догадки. Я на их форуме задал этот вопрос. Посмотрим, что они ответят. Сергей 30 ноя 13, 17:18 Re: Как изменить контекстное меню Access 2013? new Member Откуда: Сообщений: 117 Вакшуль Сергей В файле, на который вы ссылаетесь, нет имен встроенных контекстных меню. Что это значит?
Первое, что приходит в голову - разработчику пока не дают к ним доступ. Но это только догадки. Я на их форуме задал этот вопрос. Посмотрим, что они ответят. Сергей Сергей, я правильно понимаю, что проблема в том, что мы не знаем, как называется это меню, чтобы на него сослаться? Другими словами, для скрытия некоторых контролов стандартного контекстного меню мы не можем написать что-то типа: CommandBars( 'MyShortcutMenu').Controls(2).Visible = False так как не знаем, что поставить вместо MyShortcutMenu?
Ведь, по идее, стандартные запускаются примерно так же, как и созданные нами (наверно, при запуске базы). Значит, и работать с ними можно так же, как и с созданными. Теперь, конечно, возникает Ваш вопрос - на какое меню ссылаться?
Если получите ответ на том форуме, поделитесь, пожалуйста. Но вот для меня та табличка с номерами контролов оказалась очень полезной! Для создания своего меню самое! Честно говоря, наверно, для меню оптимальнее создать свое, чем исправлять готовое, потому что эти меню несколько меняются от версии к версии.
Как Сделать Арбалет
Не хочется их переписывать. А свои, простенькие, хоть в 2003, хоть в 2013 работают.
Как Сделать Меню В Аксесс
30 ноя 13, 17:55 Топик располагается на нескольких страницах: 1 /.