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 стоят дороже.