Иллюстрированный самоучитель по Access 2002
Присоединение
и импорт внешних таблиц
Прежде чем
перейти к вопросам, связанным с импортом и присоединением таблиц, нужно понять
разницу между этими возможностями Access 2002.
При импорте
таблицы из другой базы данных в рассматриваемом файле MDB создается новая таблица
Access, которая имеет ту же структуру (состав и типы полей), что и исходная
таблица, и содержит все данные исходной таблицы. После этого вы уже работаете
с новой таблицей в формате Access, которая не зависит от исходной таблицы.
Когда вы присоединяете
внешнюю таблицу, вы просто получаете доступ к таблице другого приложения, можете
использовать данные из этой таблицы, но при этом она остается в старом приложении,
в Access хранится только информация о связи. Оба приложения (то, в котором эта
таблица была создана, и приложение Access) могут работать с этой таблицей одновременно.
Однако для того, чтобы данные в присоединенной таблице можно было не только
просматривать, но и изменять, эта таблица обязательно должна иметь ключевое
поле. Обычно ключевое поле определяется в процессе присоединения таблицы.
С присоединенной
к базе данных Access 2002 внешней таблицей можно работать точно так же, как
если бы она содержалась в этой базе. Единственным ограничением является то,
что невозможно изменить структуру присоединенной таблицы (имена полей, типы
данных и т. д.). Однако название таблицы можно изменить (при этом имя файла
внешней таблицы не изменяется, изменяется только название (псевдоним) таблицы
в базе данных Access), например, сделать его более понятным, т. к. ограничения
на имя таблиц в Access менее жесткие, чем в других СУБД.
Кроме того,
в присоединенной таблице можно в режиме Конструктора изменять ряд свойств полей
(формат, надпись, маску ввода, число десятичных знаков), которые влияют только
на то, как эта таблица будет отображаться в Access. При этом в "родном"
приложении свойства полей не меняются.
Замечание
В первых версиях
Access для операции присоединения внешней таблицы применялся термин присоединение
(attachment) . В последних версиях введен термин связывание (linking). Таким
образом, внешние таблицы теперь становятся связанными. Мы используем в этой
книге старый термин присоединение и, соответственно, присоединенные таблицы,
чтобы не путать со связанными таблицами в одной базе данных, которые содержат
связанные данные.
Присоединение
внешних таблиц к базе данных Access 2002 бывает выгодным в следующих случаях:
-
с таблицей работатют
совместно несколько пользователей;
-
невозможен отказ от
применения другой СУБД для модификации данных;
-
таблица хранится на
другой машине (например, на сервере локальной сети) и содержит очень большой
объем информации.
Использование
импорта внешних таблиц в базе данных Access 2002 оправдано в следующих случаях:
-
если при разработке
приложений необходимо снять ограничения на изменение свойств внешних таблиц;
-
отсутствует непосредственный
доступ к файлу таблицы;
-
необходимо переопределить
ключевые поля таблиц Paradox. Такая ситуация может возникнуть в случае, если
структура одной или нескольких таблиц серьезно противоречит правилам нормализации;
-
в таблицу предполагается
вводить повторяющиеся данные, а первичный ключ внешней таблицы этого не допускает.
При разработке
приложения, которое должно работать с присоединенными таблицами, можно временно
импортировать таблицу в базу данных, а затем на заключительной стадии разработки
перейти к использованию присоединенной таблицы. При этом, чтобы исключить проблемы
на этапе перехода от работы с импортированной таблицей на работу с присоединенной,
не изменяйте имена и типы данных полей импортированной таблицы. В противном
случае может потребоваться произвести множество изменений в запросах, формах,
отчетах, макросах и модулях VBA. Если разрабатываемое приложение будет использовать
таблицы Paradox, то не изменяйте и поля, образующие первичный ключ. Если же
предполагается использовать таблицы dBASE, необходимо убедиться в том, что применяемые
индексы соответствуют индексным файлам (NDX и MDX) таблицы dBASE.