ник: Йожык
Ответ ли это на твой вопрос - не знаю.
Пример, который я привел - у меня работает в табличной форме и, кроме того, только в одном поле. По остальным полям выскакивает стандартное контекстное меню.
NamePopUpMenu - это переменная с именем контекстного меню.
При событии открытии Формы можно прописать свойство формы "контекстное меню" заданное имя. Если таких форм несколько, то создание меню можно вынести в отдельную процедуру модуля (что и видно из кода), где имя формы - параметр.
Для твоего случая
1 Хорошо бы для начала дернуть стандартную процедуру прохода циклом по любому меню
2 научиться отключать пункты этого меню,
3 добавлять пункты этого меню, если они отсутствуют.
Я до сих пор стараюсь не модифицировать встроенные меню Акссесс, а создаю каждый раз новые (со свойством Temporary:=True) время жизни которых определяется временем жизни сессии.
Мне это дает сомнительную, может быть, но свободу
- Временные не плодятся.
- избавляюсь от проверок на наличие/отсутствие
Главное меню базы у меня строиться из дерева, источник которой - таблица на сервере.
Это хорошо тем, что для каждого меню прописана роль. И если у пользователя сменилась роль, то ему достаточно переавторизоваться - структура отображаемого для него меню измениться. Без наличия сервера - меню - нет.
Редактирую я его тоже - визуально. По-своему :)
http://hiprog.com/forum/files/10211-20120316131948.gif
Ну и так далее.
К чему я так много пишу на посторонние темы? :)
Если тебе надо распространять 5 баз, то можешь делать теми способами, что предложены выше.
Я же обновления базы ставлю более чем на 50 машин и не менее двух раз в день. Естественно, что копировать базы с новым меню не буду.
Поэтому все, что может жить на сервере - живет на сервере. Все, что шевелится от запросов до модулей - подбирается с сервера из текстовых файлов (сохраненных объектов, в виде текстовых файлов)
Я не проверял, будет ли форма, сохраненная в виде текстового файла иметь новонаписанное для нее меню. Полагаю, по простоте душевной, что нет. Поэтому пишу процедуру его создания....
для этого в базе создал модуль с именем BuildMenu
Готовые рецепты вряд ли будут. Еще о меню писал здесь:
http://hiprog.com/forum/read.php?id_forum=1&id_theme=10211&page=1