Каковы последствия использования базы данных Microsoft Access в 2003 и 2007 годах?

StackOverflow https://stackoverflow.com/questions/75246

  •  09-06-2019
  •  | 
  •  

Вопрос

Каковы последствия использования базы данных Microsoft Access в 2003 и 2007 годах?

Есть ли какой-нибудь урок, который я забыл пройти?

Программа изначально была создана в Office 2003, а затем запущена в 2007 году.Проблемы возникают, когда на компьютере, на котором он запущен, установлены версии 2003 и 2007.Проблема также может возникнуть из-за ссылки на «Библиотеку объектов Microsoft Access 12.0» (или «Библиотеку объектов Microsoft Access 11.0» в 2003 году).Чтобы увидеть это, просто посмотрите на Инструменты:Меню Refrefes на экране VBA.

Признаком ошибки является то, что код не распознается (почти как он не распознает язык программирования, который я использую).Обычно за этим следует поле с надписью: «Выражение при загрузке, введенное вами в качестве настроек свойства события, привело к следующей ошибке:Объект или класс не поддерживает набор событий».Вы также можете заменить «При загрузке» на «При нажатии» для кнопок или «При изменении» для текстовых полей.

Я лично подозреваю, что компьютер берет части библиотеки объектов Microsoft Access 11.0/12.0, а затем смешивает их в бесполезную ссылку на VBA.Что еще больше подтверждает мои подозрения, так это всплывающее окно при переходе между ними с надписью «Настройка Microsoft Access». Еще одна проблема, которая еще раз подтверждает мои подозрения, заключается в том, что он будет работать в зависимости от того, на каком из них он открыт первым (например, 2007), а затем не запускается на другом (продолжение примера 2003 г.)

Единственная другая проблема, которую мне пришлось исправить, - это изменение последней части DoCmd.OpenForm ,,,, acFormReadOnly (или acReadOnly, в зависимости от того, как машина чувствует себя в тот конкретный день - да, с одним это будет работать, в один прекрасный день, а затем хочу, чтобы я переключил его в другой), чтобы просто заблокировать отдельные текстовые поля

Возможно, это не совсем кодирование, но я думаю, что это можно исправить кодированием.

Надеюсь, этого достаточно, чтобы кто-нибудь что-нибудь придумал.

Это было полезно?

Решение

Официальная позиция Microsoft заключается в том, что установка нескольких версий Office на одном компьютере не поддерживается и не рекомендуется, и Access 2007, похоже, создан, чтобы доказать нам это!

Тем не менее, вы можете избежать большинства проблем, выполнив следующие действия:

1 — Разделение базы данных на внутреннюю и переднюю части.Поместите серверную часть (таблицы и связи) в сетевую папку и поместите копию внешней части (все остальные объекты) на рабочий стол каждого пользователя.

2. Лучше всего сделать внешний интерфейс mde, чтобы избежать перемешивания ссылок каждый раз, когда вы открываете базу данных в другой версии Access.

3. Создайте ярлык для открытия интерфейса с нужной версией Access, чтобы всегда открылся с этой версией.(И не забудьте использовать ярлык!) В цели ярлыка:

"путь к Access 12 msaccess.exe" "путь к db.mdb"

Другие советы

У нас есть приложение MS-Acces, разработанное с помощью Access 2003 и используемое либо в полной, либо в рабочей версии Access 2003 и Access 2007 (Access 2007 Runtime бесплатен, и мы активно его используем!).Никаких особых проблем, кроме управления ссылками, нет.Наш код анализирует установленную на компьютере версию Office и автоматически обновляет соответствующие ссылки (не только Access, но и Excel, Outlook, Word и т.д.):код очень сложный, но представляет большой интерес!)

Насколько мне известно, ни один из основных объектов, свойств или методов, доступных в Office 2003/VBA, не устарел в Office 2007.Код Office 2003 будет работать с Access 2007, как только эти проблемы со ссылками будут решены.В Office 2007 появилось несколько новых объектов, поэтому я бы не советовал разработчикам использовать их для разработки кода, который будет в дальнейшем использоваться с Access 2003.

Но главная и реальная проблема вашего вопроса:почему нужно запускать обе версии Access на одном компьютере?Это то, что я бы сделал, если хочу быть уверенным в сбое своих приложений.Я думаю, что если вашей целью была разработка программного обеспечения, вам обязательно следует найти лучшую конфигурацию для своей машины!

Как правило, установка нескольких версий Access на одном компьютере не поддерживается и приведет к проблемам со ссылками на объекты.

Если база данных создана в Access 2003, скомпилирована в .MDE, а затем развернута в отдельном экземпляре Windows под управлением Access 2007, у вас не должно возникнуть каких-либо серьезных проблем (кроме изменений пользовательского интерфейса, таких как добавление пользовательских панелей инструментов в надстройки). лента).

Для тестирования нескольких версий Access вам потребуется определенная изоляция между каждой версией.Для этого я использую несколько виртуальных машин.Моя основная виртуальная машина Windows работает под управлением Office 2007 и IE7, а для тестирования у меня есть вторая виртуальная машина с Office 2003 и IE6.

Обратите внимание: если вы хотите просто использовать Word, Excel и Outlook 2007 с Access 2003, вы можете сначала установить Access 2003 отдельно, а затем выполнить выборочную установку Office 2007 и отменить выбор Access 2007.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top