Ms Access Runtime 2002 "Операция OpenForm была отменена" на некоторых рабочих станциях

Наш клиент использует приложение MS Access в многопользовательской среде на более чем 500 рабочих станциях. Приложение обновляется с использованием пользовательского механизма автообновления, который доставляет файлы.mde конечным пользователям, использующим Access Runtime 2002. Я скомпилирую приложение с MS Access 2002 (10.6501.6626) SP3.

Иногда после нового выпуска мы получаем ошибку "действие OpenForm было отменено" или случайные рабочие станции (обычно одна или две) в случайных формах приложения. Новая компиляция в файл.mde и другое обновление решает ее.

Есть ли у вас какие-либо идеи о причине этой ошибки?

1 ответ

Один из абсолютно безумных аспектов Access - это все проблемы с версиями, с которыми вы сталкиваетесь. Я работаю в крупной страховой компании с очень строгим управлением аппаратным и программным обеспечением, а также тем, что пользователи могут и не могут обновлять, и у любого проекта, насчитывающего более 50 пользователей, гарантированно возникли проблемы на нескольких машинах. Таким образом, мы в конечном итоге полностью портировали на Visual Studio.net, чтобы избежать проблем.

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

Внутри кода убедитесь, что все ваши подпрограммы / функции имеют перехват ошибок. Это всегда хорошая идея, чтобы написать свой код с помощью этого фреймворка:

Private Sub SomeName_Click()
On Error GoTo Err_SomeName_Click

   ...Do some stuff here...

Exit_SomeName_Click:
    Exit Sub

Err_SomeName_Click:
    MsgBox Err.Description
    Resume Exit_SomeName_Click

End Sub

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

Чаще всего в сборке присутствует небольшое количество коррупции. Доступ может быть очень временным. Многие забывают, что Access не был / не предназначен для массового развертывания баз данных. Да, он может их выполнять, но внешний интерфейс VS в сочетании с внутренним сервером SQL Server гораздо более стабилен. Вот почему Access поставляется с Office, а VS и SQL Server стоят дороже.

Другие вопросы по тегам