Вызывает ли устаревшие ссылки ошибки при запросе данных? - PullRequest
0 голосов
/ 27 февраля 2019

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

На работающем файле сервера есть заблокированный файл базы данных в формате MDB, к которому невозможно получить доступ вообще, если не создан ярлык, добавляющий security.mdw в путь его свойств.В этом файле базы данных содержится форма, которая добавляет задания, обновляет и удаляет их как из локальной таблицы, так и из таблицы, хранящейся в драйвере MySQL ODBC Ansi.Как это происходит, это не проблема, потому что всякий раз, когда я тестирую функции как на Windows 10 (которая не показывает ошибку при открытии формы), так и на медленном компьютере с Windows 7, который вызывает «В этом элементе управления нет объекта» в формеоткрыто, они работают правильно.

Но в настоящее время у меня есть проблема, утверждающая, что при использовании того же заблокированного файла MDB, когда кто-то еще обновил состояние задания, что-то с обновлением данных задания пошло не так, как на веб-сайте (что показывает данные таблицы mysql) неверные данные показывают.В другой версии функции формы, которая сохраняется как .ACCDB (и редактируемая), у меня есть следующие ссылки:

1 / Visual Basic для приложений
2 / Библиотека объектов Microsoft Access 16.0
3 / OLE Automation
4 / объекты данных Microsoft ActiveX 6.1. Библиотека
5 / Microsoft DAO 3.6. Библиотека объектов
6 / Общие элементы управления Microsoft Windows-2 6.0

Находясь на заблокированномссылки на файл mdb ...

1 / Visual Basic для приложений
2 / Библиотека объектов Microsoft Access 16.0
3 / OLE Automation
4 / Объекты данных Microsoft ActiveX 2.1Библиотека
5 / Библиотека объектов Microsoft DAO 3.6
6 / Библиотека объектов Microsoft Excel 16.0
7 / Библиотека объектов Microsoft Word 16.0
8 / Библиотека объектов Microsoft Forms 2.0

Поскольку файл mdb заблокирован, он не может даже сохранять какие-либо изменения, внесенные в список ссылок при каждом открытии файла.Поэтому, даже когда я добавил страшный файл MSCONCTL.OCX, который вызывает «В этом элементе управления нет объекта» в системах Windows 7, но все равно вызывает эту ошибку.

Так что мой вопрос таков:,Приведут ли устаревшие ссылки к ошибкам при запросе данных?

1 Ответ

0 голосов
/ 27 февраля 2019

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

Вместо Dim rs As Recordset, либо Dim rs As DAO.Recordset или Dim rs As ADODB.Recordset.

Кроме того, тот факт, что MDBзаблокирован, и вы упоминаете security.mdw, похоже, он использует старую безопасность рабочей группы.Я бы избавился от этого (в настоящее время он не имеет значения для безопасности) и обновил бы ссылки.DAO и ADO были обновлены с тех пор;Вы должны использовать последнюю версию DAO (теперь она называется «Библиотека ядра базы данных Microsoft Office Access») и ADO 6.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...