Программа Compiled Access работает на 7 компьютерах, но не работает на 3 других - PullRequest
0 голосов
/ 13 января 2020

Я написал довольно сложное приложение в Microsoft Access. Он разделен на файлы переднего и заднего плана. Чтобы защитить свой код, я скомпилировал его и сохранил как исполняемый файл .accde, который затем изменил на файл .accdr, чтобы он работал как среда выполнения. Я создал две версии приложения: одну для тех, у кого установлен 32-битный Office, и одну для тех, у кого 64-битный офис. Я использовал Inno Setup для упаковки приложения, файла данных и других файлов, таких как файл значков, файл лицензии и т. Д. c., В устанавливаемый пакет, который прекрасно работает.

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

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

The expression On Open you entered as the event property setting produced the following error: Bad file name or number.
 * The expression may not result in the name of a macro, the name of a user-defined function, or [Event Procedure].

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

Событие On Open, которое, как я подозреваю, вызывает проблему, проверяет связанные таблицы, получает их строку подключения , затем смотрит на путь для этой строки для внутренней базы данных. Если он не находит его там, процедура выскакивает диалоговое окно выбора файла и инструктирует пользователя, чтобы найти файл данных, затем она связывает все таблицы.

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

Ответы [ 2 ]

0 голосов
/ 14 января 2020

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

Эта ошибка возникает на небольшом проценте компьютеров, на которых установлено приложение, а никто еще не выяснил почему, как это происходит или как это исправить. Обходной путь - установить версию среды выполнения Access 2013 года, так как более поздние версии по-прежнему будут вызывать проблему.

По крайней мере один из компьютеров-нарушителей работает версия Office, запускаемая по принципу «нажми и работай». Все еще собираю информацию, но это статус на данный момент.

0 голосов
/ 13 января 2020

Обычно это вызвано ссылкой, помеченной как MISSING.

У вас есть два (три) варианта:

  1. Запустите приложение на компьютерах-нарушителях с полной версией Access, которая позволяет отлаживать код
  2. Создать небольшое тестовое приложение, которое выводит список и проверяет используемые вами ссылки и запускает его на компьютерах-нарушителях
  3. Удалите этих двух клиентов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...