Метод DoCmd.DoMenuItem (Access)

Отображает соответствующее меню или команду панели инструментов для Microsoft Access.

Синтаксис

expression. DoMenuItem (MenuBar, MenuName, Command, Subcommand, Version)

expression: переменная, представляющая объект DoCmd.

Параметры

Имя Обязательный или необязательный Тип данных Описание
MenuBar Обязательный Variant Используйте встроенную константу acFormBar для строки меню в представлении формы. Для других представлений используйте номер представления в списке аргументов MenuBar , как показано в окне Макрос в предыдущих версиях Microsoft Access (отсчитывайте список, начиная с 0).
MenuName Обязательный Variant Используйте одну из следующих встроенных констант:
  • acFile

  • acEditMenu

  • acRecordsMenu

Используйте acRecordsMenu только для строки меню представления формы в базах данных Access версии 2.0 и Access 95. Для других меню используйте номер меню в списке аргументов MenuName , как показано в окне макросов в предыдущих версиях Access (отсчитывайте список, начиная с 0).

Команда Обязательный Variant Используйте одну из следующих встроенных констант:
  • acNew

  • acSaveForm

  • acSaveFormAs

  • acSaveRecord

  • acundo

  • acCut

  • acCopy

  • acPaste

  • acDelete

  • acSelectRecord

  • acSelectAllRecords

  • acObjectRefresh

Для других команд используйте номер команды в списке аргументов Command , как показано в окне макросов в предыдущих версиях Access (отсчитывайте список, начиная с 0).

Подкоманда Необязательный Variant Используйте одну из следующих встроенных констант:
  • acObjectVerb

  • acObjectUpdate

Константа acObjectVerb представляет первую команду в подменю команды Object в меню Правка . Тип объекта определяет первую команду в подменю. Например, эта команда — Изменить для объекта Paintbrush, который можно изменить.

Для других команд в подменю используйте номер подкоманды в списке аргументов Subcommand , как показано в окне Макрос в предыдущих версиях Access (отсчет списка, начиная с 0).

Версия Необязательный Variant Используйте встроенную константу acMenuVer70 для кода, написанного для баз данных Access 95, встроенную константу acMenuVer20 для кода, написанного для баз данных Access версии 2.0, и встроенную константу acMenuVer1X для кода, написанного для баз данных Access версии 1.x. Этот аргумент доступен только в Visual Basic.

ПРИМЕЧАНИЕ. По умолчанию для этого аргумента используется acMenuVer1X, поэтому любой код, написанный для баз данных Access версии 1.x, будет выполняться без изменений. Если вы пишете код для базы данных Access 95 или версии 2.0 и хотите использовать команды меню Access 95 или версии 2.0 с методом DoMenuItem , необходимо задать для этого аргумента значение acMenuVer70 или acMenuVer20.

Кроме того, при отсчете списков для аргументов действий MenuBar, MenuName, Command и Subcommand в окне Макрос для получения чисел, используемых для аргументов в методе DoMenuItem , необходимо использовать списки Access 95, если аргумент Version имеет значение acMenuVer70, а в списке Access версии 2.0, если аргумент Version — Версия. и в списке Access версии 1.x отображается значение , если версияacMenuVer1X (или пустая).

ПРИМЕЧАНИЕ. Для этого аргумента не задан параметр acMenuVer80 . Вы не можете использовать метод DoMenuItem для отображения команд Access (хотя существующие методы DoMenuItem в коде Visual Basic по-прежнему будут работать). Вместо этого используйте метод RunCommand .

Замечания

Примечание.

В Microsoft Access 97 и более поздних версиях метод DoMenuItem был заменен методом RunCommand . Метод DoMenuItem включен в эту версию Access только для совместимости с предыдущими версиями. При выполнении существующего кода Visual Basic, содержащего метод DoMenuItem , Access отобразит соответствующее меню или команду панели инструментов для Access 2000. Однако, в отличие от действия DoMenuItem в макросе, метод DoMenuItem в коде Visual Basic не преобразуется в метод RunCommand при преобразовании базы данных, созданной в предыдущей версии Access.

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

Выбор в списках для аргументов действий MenuName, Command и Subcommand в окне Макрос зависит от того, что вы выбрали для предыдущих аргументов. Необходимо использовать числа или внутренние константы, которые подходят для каждого аргумента MenuBar, MenuName, Command и Subcommand .

Если оставить аргумент Subcommand пустым, но указать аргумент Version , необходимо включить запятую аргумента Subcommand . Если оставить аргументы Subcommand и Version пустыми, не используйте запятую после аргумента Command .

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.