Доступ к VBA: команда оболочки повреждена в одной конкретной базе данных - PullRequest
0 голосов
/ 20 июня 2019

У меня есть две базы данных Access, которые я открываю на одном компьютере. Во-первых, выполнение этого в ближайшем окне работает как положено (открывает Блокнот):

Shell "notepad.exe"

В другом я получаю эту ошибку вместо:

Ошибка времени выполнения '5': неверный вызов процедуры или аргумент

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

Что здесь происходит? Может ли вступить в действие настройка безопасности? Или, может быть, одна старая версия?

Редактировать - Подробнее

  • Когда я перехожу к определению Shell в базе данных со сбоями, оно переходит к VBA.Interaction.Shell.

  • Я получил правильную подсказку IntelliSense для Shell.

  • Я попытался VBA.Shell "notepad.exe" и VBA.Interaction.Shell "notepad.exe" без успеха (та же ошибка).

  • Вот ссылки, которые проверены в обеих базах данных:

    enter image description here

  • Декомпиляция не помогла.

1 Ответ

2 голосов
/ 20 июня 2019

Виновником стало наше антивирусное программное обеспечение! UGH!

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

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

...