Совместное использование базы данных в нескольких версиях Access

В некоторых случаях не все пользователи многопользовательского приложения Access могут перейти к работе с новой версией Access одновременно. Хотя бы потому, что не все компьютеры организации могут иметь достаточные для этого ресурсы. Access позволяет нескольким пользователям работать с одними и теми же данными в файле базы данных, используя при этом разные версии Access. Например, база данных может быть создана в среде Access 95 или даже Access 2.0 и иметь соответствующий формат. Часть пользователей может продолжать работать с этой базой данных в той же среде Access 2.0 или Access 95, а другие пользователи могут работать с этим же файлом в среде Access 2010, имея возможность использовать большинство новых средств Access 2010. Единственное ограничение для пользователей Access 2010 — они не смогут менять структуру базы данных и создавать в ней новые объекты. Сами данные доступны им как на чтение, так и на запись. Такую стратегию можно использовать для приложений, состоящих из одного файла MDB и для разделенных на части front-end/back-end приложений.
Чтобы использовать разделенную базу данных из предыдущей версии в разных версиях Access, достаточно преобразовать файл объектов приложения в формат Access 2000 или 2002 и присоединить к нему таблицы из исходного файла объектов данных.
Чтобы использовать в разных версиях Access базу данных, состоящую из одного файла в формате одной из предыдущих версий Access:

  1. Преобразуйте базу данных в формат Access 2000 или 2002, используя новое имя файла для преобразованной базы данных .
  2. Разделите преобразованную базу данных на файл объектов данных и файл объектов приложения с помощью Мастера разделения баз данных, как описано .
  3. Удалите полученный в результате разделения файл объектов данных. В качестве части заднего плана для данного приложения необходимо использовать данные, хранящиеся в исходной базе данных. Часть заднего плана должна представлять собой файл в самой ранней версии Access, из тех, в которых работают пользователи приложения.
  4. Откройте файл объектов приложения в Access 2000 или Access 2010. Щелкните по ярлыку Таблицы (Tables). Щелкните правой кнопкой по пустому месту в окне базы данных и выберите в контекстном меню команду Связь с таблицами (Link Tables). Установите ссылки на таблицы, хранящиеся в предыдущей версии базы данных.
  5. После этого можно расширять возможности части переднего плана базы данных, используя все новые средства Access 2000 или 2002, которые можно предоставить в распоряжение пользователей, перешедших на использование новой версии Access. Пользователи предыдущих версий Access могут продолжать использовать исходную версию базы данных. Например, если файл объектов данных сохранен в формате Access 2.0, можно использовать до пяти версий Access для части приложения переднего плана: Access 2.0 (используя исходное приложение), Access 95 и 97 (используя исходную или преобразованную версию файла объектов приложения) и Access 2000 и 2002 (используя преобразованную версию файла объектов приложения).

Если база данных предыдущей версии Access уже разделена на файл объектов данных и файл объектов приложения, остается только преобразовать файл объектов приложения в формат Access 2000 или 2002:

  1. Оставьте файл объектов данных без изменений.
  2. Преобразуйте файл объектов приложений в формат Access 2000 или 2002.
  3. Откройте преобразованный файл объектов приложения в Access 2000 или 2002 и установите связи к таблицам, хранящимся в файле объектов данных с помощью Диспетчера связанных таблиц.

После этого можно наращивать функциональность файла объектов приложения, используя все новые возможности Access 2000 или 2002.
 
Использование в Access 2000 и 2002 баз данных предыдущих версий без преобразования формата
Access 2010, так же как и предыдущие версии Access, позволяет открывать базы данных предыдущих версий Access, не преобразуя их в новый формат. Поскольку исходный формат базы данных не меняется, остальные пользователи могут продолжать использовать эту базу данных в ранней версии Access. При этом работа с базами данных Access 2000 в Access 2010 ничем не будет ограничена, но пользователи Access 2000 или 2002 будут иметь ограничения при использовании базы данных более ранних версий: Access 2.0, 95 или 97. Можно будет просматривать и редактировать данные в таблицах, добавлять и удалять записи, но нельзя будет изменять структуру данных и объектов базы данных или добавлять новые объекты. Для этой цели базу данных необходимо открыть в той версии Access, в которой она была сохранена.
Существуют определенные ограничения при работе с базами данных предыдущих версий Access из-за неполной совместимости разных версий.

  • Базу данных в формате Access 2000 или 2002 нельзя открыть в предыдущих версиях Access. В частности, с базой данных в формате Access 2010 нельзя работать в режиме общего доступа вместе с пользователями Access 2000 и 97.
  • Нельзя установить связи с таблицами базы данных Access 2000 или 2002 в базе данных предыдущей версии. Однако можно экспортировать таблицы Access 2000 или 2002 в формат предыдущей версии Access.
  • Microsoft Access 97 и выше используют новый стиль панелей команд — строк меню, контекстных меню и панелей инструментов. Если база данных Access 95 открыта без преобразования в Access 2000 или 2002, пользовательские панели инструментов преобразуются согласно стилю Access 2000 или 2002, однако это преобразование не сохраняется. Пользовательские строки меню интерпретируются как строки меню нового стиля, однако макросы строки меню не преобразуются и продолжают действовать, благодаря их поддержке в новых версиях Access.
  • Защищенное приложение Access 2000 или более ранней версии остается таковым при открытии его в Access 2010. Можно с помощью Администратора рабочих групп установить связь с файлом рабочей группы, созданным в предыдущей версии Access. Однако рекомендуется выполнить воссоздание файла рабочей группы в новой версии Access 2000 или 2002 перед установлением связи с ним. Если используется база данных Access 2.0, 95 или 97 с исходной версией файла рабочей группы, сохраняется действие защиты для всех объектов, кроме защиты модулей. Access 2000 или выше не поддерживает защиту на уровне пользователей для кода VBA. Вместо этого применяется защита кода VBA с помощью пароля. Файл рабочей группы Access 2010 нельзя использовать в версии 97 или еще более ранней.
  • В результате открытия базы данных предыдущей версии Access без преобразования может увеличиться ее размер. Если база данных открывалась без преобразования в другой версии Access, а потом открывалась в Access 2010, ее размер может увеличиться еще больше. В редких случаях база данных Access 2.0 открывается без преобразования в Access 95, затем в Access 97, в Access 2000 и, наконец, в Access 2010, тогда в проекте VBA всякий раз сохраняется информация, относящаяся к формату очередной версии.

Относительно совместимости программного кода на VBA: Microsoft Access 2000 и выше не поддерживает библиотеку ОАО 2.5/З.х Compatibility Library. Если открыть в Access 2000 или выше приложение ранней версии Access, которое содержит программный код, использующий устаревшие объекты, методы и свойства объектов DAO, связанные с этой библиотекой, отобразится сообщение об ошибках компиляции проекта VBA. Поэтому перед открытием базы данных в Access 2000 следует обновить программный код, чтобы он не зависел от библиотеки DAO 2.5/3. x Compatibility Library.