Присоединение и импорт таблиц dBASE и Paradox
Теперь можно перейти непосредственно к описанию процесса присоединения и импортирования внешних таблиц.
Совет
Будьте осторожны при присоединении файла таблицы и не работайте непосредственно с оригиналом файла до тех пор, пока не убедитесь в том, что все изменения таблицы, производимые из Access, не вызывают ошибок в исходном приложении, работающем с этой таблицей. Используйте для опытов резервную копию файла таблицы.
Чтобы присоединить или импортировать таблицу dBASE или Paradox в открытую базу данных Access 2002:
- Откройте любую базу данных, например демонстрационную базу данных «Борей» (Northwind). Access 2000 не требует, чтобы окна объектов базы данных (форм, запросов или отчетов) были закрыты в процессе импорта или присоединения таблиц.
- Чтобы присоединить внешнюю таблицу к базе данных, выберите команду Файл → Внешние данные → Связь с таблицами (File → Get External Data → Link Tables). Появится диалоговое окно Связь (Link) (рис. 3.1). Чтобы импортировать внешнюю таблицу в базу данных, выберите команду Файл → Внешние данные → Импорт (File → Get External Data → Import). Появится диалоговое окно Импорт (Import) (рис. 3.2).
Замечание
Можно начать процесс присоединения или импорта, щелкнув правой кнопкой мыши на свободном поле окна базы данных и выбрав из контекстного меню команду Связь с таблицами (Link Tables) или Импорт (Import).
- Раскройте папку, в которой находится файл нужной таблицы. В раскрывающемся списке Тип файла (Files of type) выберите тип файла, который вы хотите импортировать или присоединить к базе данных.
Замечание
Если присоединяемая таблица находится на другом компьютере локальной сети, рекомендуется в поле Имя файла (File name) вводить полный путь к файлу сети, например \\Tyger\Dbase\Tables\Clients.dbf
. Использование имени логического диска может нарушить связь с таблицей при его переназначении.
Рис. 3.1. Диалоговое окно Связь
- Дважды щелкните левой кнопкой мыши по имени файла, который необходимо импортировать или присоединить к базе данных. Можно также выделить имя файла и нажать кнопку Связь (Link) или Импорт (Import).
- Если выбранная таблица зашифрована (закодирована), появится диалоговое окно, запрашивающее пароль. Введите пароль и нажмите клавишу
<Enter>
.
Рис. 3.2. Диалоговое окно Импорт
- Если присоединяется файл dBASE, после этого появляется диалоговое окно Выбор индексного файла (Select Index Files) (рис. 3.3). Это вызвано тем, что индексные файлы dBASE (в отличие от Paradox) не присоединяются автоматически, так как в заголовке файла dBASE не содержится информации об используемых индексах. Заметьте, что это диалоговое окно не появляется при импорте таблицы dBASE.
Замечание
Если присоединяется таблица dBASE III, то по умолчанию Access 2002 использует для индексного файла расширение .ndx
. Таблица dBASE III может иметь как один, так и несколько индексов. Поскольку каждый индекс хранится в отдельном файле, может потребоваться присоединить несколько индексных файлов.
Системы управления базами данных dBASE IV и dBASE 5 позволяют хранить несколько индексов в одном файле (.mdx
). Имя индексного файла обычно совпадает с именем таблицы. При присоединении таблиц dBASE IV или dBASE 5 приложение Access 2002 ищет в папке, в которой находится присоединяемая таблица, оба типа индексных файлов (.ndx
и .mdx
).
Рис. 3.3. Диалоговое окно Выбор индексного файла
- В списке файлов диалогового окна Выбор индексного файла выделите нужный файл. Нажмите кнопку Выбрать (Select). Access 2002 присоединит индексный файл, после чего появится окно сообщения, подтверждающее успешное добавление индексного файла. Нажмите кнопку ОК.
- Если присоединяемая таблица dBASE использует несколько индексов, необходимо повторить шаг 7 для каждого индекса. После того как все индексы добавлены, нажмите кнопку Закрыть (Close). Появится диалоговое окно Выбор уникального индекса (Select Unique Record Identifier).
Рис. 3.4. Диалоговое окно Выбор уникального индекса
Замечание
Access 2002 не проверяет индексный файл на соответствие структуре присоединяемой таблицы dBASE. Если индексный файл не соответствует таблице, его обновление производиться не будет. К сожалению, Access 2002 не выводит предупреждения об использовании индексного файла, не соответствующего таблице. Использование таблицы, для которой был неверно указан индексный файл, может вызвать ошибки в приложении dBASE.
Чтобы устранить такую ошибку (если она возникнет), необходимо переиндексировать таблицу в приложении, создавшем её. Если присоединяемая таблица использует несколько индексов, необходимо добавить все индексы, если предполагается изменять содержимое таблицы средствами Access. В противном случае при изменении значения поля, по которому проиндексирована таблица, соответствующий индексный файл не будет обновлён, что может вызвать ошибки при использовании таблицы в исходном приложении.
- В диалоговом окне Выбор уникального индекса (Select Unique Record Identifier) определите индекс, который однозначно идентифицирует записи в таблице. Это необходимо для того, чтобы данные в таблице можно было изменять из Access. Нажмите кнопку ОК.
Замечание
Если присоединяется файл Paradox, в котором определён первичный ключ, то Access автоматически ищет и присоединяет индексный файл (.px
), из которого и определяет первичный ключ. Поэтому окна Выбор индексного файла и Выбор уникального индекса не открываются.
Если файл Paradox не имеет первичного ключа, то вы не сможете изменять данные в этой таблице из Access. Если присоединяемая таблица Paradox имеет поля типа MEMO, Access будет искать соответствующий файл с расширением .md
(в той же папке, что и присоединяемая таблица). Если файлов с расширением .px
и .md
не окажется в нужной папке, открыть присоединённую таблицу из Access не удастся. После того как операция присоединения (или импорта) будет завершена, появится окно с сообщением об успешном окончании операции.
- Диалоговое окно Связь (или Импорт) остается открытым после завершения операции, позволяя, если это необходимо, присоединить или импортировать ещё какие-либо внешние таблицы. Повторите процедуру с шага 3 по шаг 9 для остальных таблиц базы данных.
- Чтобы закрыть диалоговое окно Связь (или Импорт), нажмите кнопку Закрыть (Close). Присоединённые и импортированные таблицы появятся в окне базы данных. Слева от значка присоединённой таблицы отображается стрелка, указывающая на то, что таблица хранится во внешнем файле (рис. 3.5), а сам значок определяет тип (формат) присоединенного файла.
Рис. 3.5. Присоединённые таблицы в окне базы данных
- Дважды щелкните левой кнопкой мыши по присоединенной таблице в окне базы данных. Внешняя таблица будет открыта в режиме Таблицы (рис. 3.6).
Рис. 3.6. Присоединённая таблица Paradox открыта в режиме таблицы
В процессе присоединения индексных файлов dBASE Access создаёт специальный файл, который содержит перечень индексных файлов. Это обычный текстовый файл с расширением .inf
, расположенный в той же папке, что и присоединённая таблица. Данный файл нельзя перемещать, так как если Access не найдёт этот файл (или один из индексных файлов, указанных в .inf
), работать с присоединенной таблицей будет невозможно, и придётся заново её присоединять.
При присоединении или импорте внешней таблицы Access 2002 читает заголовок файла таблицы и преобразует типы данных полей внешней таблицы в типы данных Access. Поскольку Access 2002 поддерживает больше типов данных, чем другие настольные СУБД, преобразование типов происходит корректно. В таблице 3.3 приведено соответствие между типами данных таблиц dBASE, Paradox и Access.
Таблица 3.3. Соответствие типов данных некоторых СУБД
dBASE III/IV | Paradox 3.0, 4.0, 5.0 | Access |
Character | Alphanumeric | Текстовый (Text) |
Numeric | Number | Числовой (Number) |
Float | Money, BCD | С плавающей точкой (Double, 8 байтов) |
Float | Short Number | С плавающей точкой (Single, 4 байта) |
Integer | Short Number | Целое (Integer) |
Long | Long Number | Длинное целое (Long) |
Byte | Byte | Байт (Byte) |
Autoincrement | Autoincrement | Счётчик (AutoNumber) |
Logical | Logical | Логический (Yes/No) |
Date | Date, Time, Timestamp | Дата/время (Date/Time) |
Memo | Memo, Formatted memo | Поле MEMO (Memo) |
Binary | Binary | Двоичные данные (Binary) |
OLE | OLE | Поле объекта OLE (OLE) |
Замечание
В Access 2002 можно непосредственно открывать файлы других форматов через диалоговое окно Открытие файла базы данных (Open). Открыв список в поле Типы файлов, вы увидите все форматы, которые были рассмотрены в этой главе. При выборе одного из этих файлов Access создаёт новую базу данных (в формате Access) в той же папке, где находится выбранный файл, и импортирует в неё все таблицы из выбранной базы данных.
Импорт или присоединение таблиц других форматов через ODBC выполняется аналогично. В списке типов файлов окна Связь (или Импорт) выберите ODBC Databases. После этого откроется диалоговое окно для выбора источника данных или создания нового. После создания источника данных процесс импорта или присоединения продолжается так же, как для таблиц других форматов.
Импорт и присоединение таблиц из внешних источников данных — процесс, который не всегда проходит без ошибок. Если во время импорта возникнут проблемы, Access 2002 создаст таблицу Ошибки импорта (Import Errors). Она появится в списке таблиц базы данных, и её можно открыть для просмотра возникших ошибок.