Использование внешних данных

Использование внешних данных

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

Access 2002 позволяет решить  эту проблему стандартным способом  — путемимпортасуществующей таблицы базы данных, рабочего листа электронной таблицы или текстового файла, созданных приложениями MS-DOS или Windows, во внутренний формат базы данных Access (MDB). Естественно, что Access 2002 может такжеэкспортироватьданные из таблиц базы данных формата MDB в любой формат, из которого можно импортировать данные.

Однако Access является в этом смысле уникальной системой, т. к. она  имеет еще один способ использования  данных, которые хранятся в других форматах. Система позволяет присоединять таблицы из баз данных других форматов к базе данных Access и работать с  ними в исходном формате. После создания связи базы данных с внешней таблицей присоединенную таблицу можно просматривать, изменять ее содержимое, т. е. работать с ней как с внутренней таблицей базы данных Access. При этом другие пользователи могут использовать файл таблицы  в своих приложениях.

Помимо файлов баз данных, Access может работать непосредственно  с файлами электронных таблиц, текстовыми файлами, документами HTML, адресными  книгами или импортировать данные из этих файлов и документов XML.

Для этого используются либо встроенные драйверы ISAM(Index-Sequential Access Method— Индексно-последовательный метод доступа),либо драйверы ODBC(Open Database Connectivity — Открытый доступ к данным),либо поставщики данных OLE DB.

Все встроенные драйверы устанавливаются  автоматически в процессе инсталляции Access 2002. Из драйверов ODBC в комплект поставки Microsoft Access входят три драйвера— Microsoft SQL Server ODBC driver (Sqlsrv32.dll), FoxPro ODBC driver (vfpodbc.dll) и Oracle ODBC driver (msorcl32.dll). Кроме того, устанавливаются еще четыре провайдера OLE DB (Microsoft Jet 4.0 OLE DB Provider, Microsoft OLE DB Provider for SQL Server, OLE DB Provider for ODBC Drivers, OLE DB Provider for Oracle).

Взаимодействие с внешними данными через интерфейсы OLE DB и ODBC будет подробно рассматриваться  вгл. 17на примере взаимодействия с Microsoft SQL Server. Использование данных из остальных источников мы рассмотрим в этой главе.

  • Форматы данных, доступные для импорта, экспорта и связывания
  • Использование баз данных других форматов
  • Импорт и присоединение таблиц из текстовых файлов
  • Импорт и присоединение электронных таблиц
  • Импорт данных из Web-узлов, HTML- и XML-документов, папок и адресных книг Exchange
  • Экспорт данных в другие форматы
  • Использование буфера обмена Windows для импорта и экспорта данных

 

Форматы данных, доступные  для импорта, экспорта и связывания

Типы файлов, данные из которых  могут быть импортированы в базу данных Access или которые могут  быть связаны с базой данных Access, представлены в табл. 3.1. Вы можете увидеть  их, если в меню Файл (File) выберете команду Внешние данные, Импорт (Get External Data, Import), а затем щелкнете мышкой по расширению поля Типы файлов (Files of type) в диалоговом окне Импорт (Import). Форматы, в которые можно экспортировать данные из базы данных Access, приводятся в табл. 3.2. Их можно увидеть, если в меню Файл (File) выбрать команду Экспорт (Exort) и затем щелкнуть кнопкой мыши по расширению поля Типы файлов (Files of type). В обоих случаях первая строчка содержит шаблоны файлов баз данных и проектов самой Microsoft Access, остальные приведены в таблицах.

Типы файлов

Расширения

Описание

dBASE III,IV,V

dbf

Файлы баз данных различных  версий СУБД dBASE

Microsoft Excel

xls

Файлы электронных таблиц Microsoft Excel

Exchange

 

Файлы адресных книг и папок Microsoft Exchange

HTML Documents (Документы HTML)

html; htm

Документы в формате HTML

Lotus 1-2-3/DOS

 

Файлы электронных таблиц Lotus 1 -2-3

Outlook

 

Файлы адресных книг и папок Microsoft Outlook

Paradox

db

Файлы баз данных СУБД Paradox

Text Files (Текстовые файлы)

txt; csv; tab; asc

Текстовые файлы различных  кодовых страниц (Windows-1 281, ASCII и др.)

Документы XML (XML Documents)

xml; xsd

Документы в формате XML

ODBC Databases (Источники данных ODBC)

 

Visual FoxPro 2.x, 3.0, 5.0 и 6.x (только импорт), таблицы SQL Server и других баз данных, для которых установлены драйверы ODBC


Таблица 3.1. Типы файлов, импортируемых в Access 2002

По умолчанию встроенные драйверы ISAM используются для доступа  к файлам следующих типов: другим базам данных и проектам Access, dBASE, Paradox, электронным таблицам Microsoft Excel и Lotus 1-2-3, адресным книгам и папкам Microsoft Exchange и Outlook, текстовым файлам и документам HTML и XML. И хотя для этого могут  быть использованы и соответствующие  драйверы ODBC, рекомендуется применять  именно встроенные драйверы.

Для доступа к другим базам  данных используются драйверы ODBC. Вы сможете  импортировать данные из любого источника ODBC, который имеет драйвер, удовлетворяющий  спецификации ODBC уровня 1.

Типы файлов

Расширения

Описание

dBASE III,IV,V

dbf

Файлы баз данных различных  версий СУБД dBASE

Microsoft Excel

xls

Файлы электронных таблиц разных версий Microsoft Excel

HTML Documents (Документы HTML)

html; htm

Документы в формате HTML

Lotus 1-2-3

 

Файлы электронных таблиц Lotus 1 -2-3

Paradox

db

Файлы баз данных СУБД Paradox

Text Files (Текстовые файлы)

txt; csv; tab; asc

Текстовые файлы различных  кодовых страниц (Windows-1 281, ASCII и др.)

Microsoft Active Server Pages

asp

Web-страницы в формате  ASP

Microsoft US 1-2

htx; idc

Web-страницы в формате  HTX/IDC

Rich Text Format

rtf

Текстовый файл универсального формата "RTF (сохраняющий стили  и разметку), который пригоден для  импорта в Microsoft Word любых версий

Microsoft Word Merge

txt

Файл данных для использования  в документах слияния Microsoft Word

Документы XML (XML Documents)

xml

Документы в формате XML

ODBC Databases (Базы данных ODBC)

 

Visual FoxPro 3.0, 5.0 и 6.x, таблицы  SQL Server и других баз данных, для  которых установлены драйверы ODBC


Использование баз  данных других форматов

Системы управления реляционными базами данных различных  производителей работают с файлами  баз данных определенного формата. Многие из них используют специальные  индексные файлы для ускорения  поиска и сортировки данных в таблицах (см. разд."Создание и использование индексов"гл. 2).

Access 2002 позволяет  работать не только непосредственно  с таблицами баз данных других  форматов, но и с индексными  файлами этих таблиц.

В этом разделе будут  описаны форматы баз данных, которые  можно импортировать (присоединять) в Access 2002, особенности работы с таблицами  баз данных других форматов, а также  использование индексных файлов, преобразование типов данных и типичные ошибки, возникающие при импорте  таблиц.

Форматы баз данных

В большинстве настольных СУБД каждая таблица базы данных хранится в отдельном файле, который содержит и служебную информацию и данные в соответствующем формате. К  служебной относится информация, описывающая структуру файла, например имена и типы данных полей таблицы, число записей в файле, длина  файла и т. д.

В отличие от других СУБД, Microsoft Access хранит все объекты (кроме  страниц доступа к данным) в  одном файле с расширением mdb. Кроме того, MDB-файл включает набор  системных таблиц, которые содержат всю необходимую информацию об объектах базы данных, в том числе информацию о расположении и параметрах присоединенных таблиц других форматов. По умолчанию  системные таблицы не выводятся  в окне базы данных Access 2002. Чтобы  получить доступ к этим таблицам, необходимо изменить один из параметров Access. Для  этого нужно выбрать команду Сервис, Параметры (Tools, Options), раскрыть вкладку Вид (View) диалогового окна Параметры (Options) и в группе Отображать (Show) установить флажок Системные объекты (System Objects). Системные таблицы Access имеют доступ только на чтение, поэтому они не могут модифицироваться пользователем.

Ниже описаны форматы  файлов баз данных, которые могут  быть присоединены или импортированы Access 2002.

  • Таблицы предыдущей версии Access 2000 (MDB) обрабатываются совершенно аналогично таблицам Access 2002. Они не требуют от пользователя специальных усилий по импорту и открываются так же, как таблицы Access 2002. Отличие будет состоять только в том, что после названия открытого файла в заголовке окна базы данных в скобках появится надпись: Формат Access 2000 (Access 2000 format file).
  • Таблицы dBASE III, III+, IV, 5 и 7 (DBF), файлы полей типа MEMO (DBT), индексные файлы dBASE III (NDX) и индексные файлы dBASE IV (MDX).

Замечание

Драйверы ISAM, входящие в стандартную поставку Microsoft Office в составе компонента Microsoft Data Access Component (MDAC) 2.1 и выше, обеспечивают доступ к файлам формата DBF только на чтение. Чтобы иметь доступ на чтение и  запись, требуется установить Borland Database Engine (BDE) 4.x или выше. Существуют также  драйверы от фирмы Microsoft, которые обеспечивают доступ на чтение и запись и не требуют установки BDE, но для этого необходимо обратиться в службу Microsoft Technical Support.

Формат файлов таблиц и  индексов dBASE III и dBASE IV является стандартным  для систем управления базами данных, работающих на персональных компьютерах. Система управления базами данных Access 2002 позволяет присоединять индексные  файлы форматов NDX и MDX. При изменении  присоединенной проиндексиро-ванной таблицы dBASE Access автоматически обновляет  индексные файлы.

Замечание

Наличие индексных  файлов NDX (dBASE III), MDX (dBASE IV) необязательно. Тем не менее, если эти файлы доступны, лучше их использовать. В противном  случае при изменении присоединенной таблицы dBASE эти изменения не отражаются в индексном файле, что может  вызвать ошибки при попытке использования  проиндексированных таблиц, измененных в Access, в приложениях dBASE.

Если импортируемый  файл dBASE содержит поля типа MEMO, то необходимо, чтобы файлы с данными этих полей (DBT) были доступны, т. е. они должны находиться в той же папке, что  и сама таблица. Если Access 2002 не удается  найти файл DBT, то присоединение или  импорт данных из такой таблицы вызовет  ошибку. При экспорте данных из таблицы Access 2002, содержащей поле типа MEMO, в таблицу  формата dBASE автоматически создается  файл DBT и ему присваивается то же имя, что и файлу таблицы.

  • Табличные (DB) и индексные (РХ) файлы Paradox 3.x, 4.x и 5.0.

Access 2002 позволяет присоединять  табличные и индексные файлы  Paradox 3.x и 4.x для MS-DOS, а также Paradox для Windows 5.0 и 8.0. При обновлении данных в таблице Paradox из Access индексный файл должен быть доступен наряду с файлом таблицы. В процессе присоединения таблицы 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.

Присоединение и импорт таблиц dBASE и Paradox

Теперь можно перейти  непосредственно к описанию процесса присоединения и импортирования внешних таблиц.

Совет

Будьте осторожны  при присоединении файла таблицы  и не работайте непосредственно  с оригиналом файла до тех пор, пока не убедитесь в том, что все  изменения таблицы, производимые из Access, не вызывают ошибок в исходном приложении, работающем с этой таблицей. Используйте для опытов резервную  копию файла таблицы.

Чтобы присоединить или импортировать  таблицу dBASE или Paradox в открытую базу данных Access 2002:

  1. Откройте любую базу данных, например демонстрационную базу данных "Борей" (Northwind). Access 2000 не требует, чтобы окна объектов базы данных (форм, запросов или отчетов) были закрыты в процессе импорта или присоединения таблиц.
  2. Чтобы присоединить внешнюю таблицу к базе данных, выберите команду Файл, Внешние данные, Связь с таблицами (File, Get External Data, Link Tables). Появится диалоговое окно Связь(Link), изображенное на рис. 3.1. Чтобы импортировать внешнюю таблицу в базу данных, выберите команду Файл, Внешние данные, Импорт (File, Get External Data, Import). Появится диалоговое окноИмпорт (Import) (рис. 3.2). Эти диалоговые окна являются модифицированными стандартными окнами открытия документа Microsoft Office.

Замечание

Можно начать процесс  присоединения или импорта, щелкнув  правой кнопкой мыши на свободном  поле окна базы данных и выбрав из контекстного меню команду Связь с таблицами (Link Tables) или Импорт (Import).

  1. Раскройте папку, в которой находится файл нужной таблицы. В раскрывающемся списке Тип файла (Files of type) выберите тип файла, который вы хотите импортировать или присоединить к базе данных.

Замечание

Если присоединяемая таблица находится на другом компьютере локальной сети, рекомендуется в  поле Имя файла (File name) вводить полный путь к файлу сети, например \\Tyger\Dbase\Tables\Clients.dbf. Использование вместо этого имени  логического диска чревато тем, что переназначение логического  диска может нарушить связь с  таблицей.

 
Рис. 3.1. Диалоговое окно Связь

  1. Дважды щелкните левой кнопкой мыши по имени файла, который необходимо импортировать или присоединить к базе данных. Можно также выделить имя файла и нажать кнопку Связь (Link) илиИмпорт (Import). При этом предполагается, что файлы таблиц имеют стандартные расширения.
  2. Если выбранная таблица зашифрована (закодирована), появится диалоговое окно, запрашивающее пароль. Введите пароль и нажмите клавишу <Enter>.

 
Рис. 3.2. Диалоговое окно Импорт

Если присоединяется файл dBASE, после этого появляется диалоговое окно Выбор индексного файла (Select Index Files) (рис. 3.3). Это вызвано тем, что индексные файлы dBASE (в отличие от Paradox) не присоединяются автоматически, т. к. в заголовке файла dBASE не содержится информации об используемых индексах. Заметьте, что это диалоговое окно не появляется при импорте таблицы dBASE.

Замечание

Если присоединяется таблица dBASE III, то по умолчанию Access 2002 использует для индексного файла расширение ndx. Таблица dBASE III может иметь как  один, так и несколько индексов. Поскольку каждый индекс хранится в  отдельном файле, может потребоваться  присоединить несколько индексных  файлов.

Системы управления базами данных dBASE IV и dBASE 5 позволяют хранить несколько  индексов в одном файле (МDХ). Имя  индексного файла обычно совпадает  с именем таблицы. При присоединении  таблиц dBASE IV или dBASE 5 приложение Access 2002 ищет в папке, в которой находится  присоединяемая таблица, оба типа индексных  файлов (и NDX, и МDХ).

  1. В списке файлов диалогового окна Выбор индексного файла выделите нужный файл. Нажмите кнопку Выбрать (Select). Access 2002 присоединит индексный файл, после чего появится окно сообщения, подтверждающее успешное добавление индексного файла. Нажмите кнопку ОК.
  2. Если присоединяемая таблица dBASE использует несколько индексов, необходимо повторить шаг 6 для каждого индекса. После того как все индексы добавлены, нажмите кнопку Закрыть (Close). Появится диалоговое окно Выбор уникального индекса (Select Unique Record Identifier).

 
Рис. 3.3. Диалоговое окно Выбор индексного файла

Замечание

Access 2002 не проверяет  индексный файл на соответствие  структуре присоединяемой таблицы  dBASE. Если индексный файл не  соответствует таблице, его обновление  производиться не будет. К сожалению, Access 2002 не выводит предупреждения об использовании индексного файла, не соответствующего таблице. Использование таблицы, для которой был неверно указан индексный файл, может вызвать ошибки в приложении dBASE. Чтобы устранить такую ошибку (если она возникнет), необходимо переиндексировать таблицу в приложении, создавшем ее. Если присоединяемая таблица использует несколько индексов, необходимо добавить все индексы, если предполагается изменять содержимое таблицы средствами Access. В противном случае при изменении значения поля, по которому проин-дексирована таблица, соответствующий индексный файл не будет обновлен, а это может вызвать ошибки при использовании таблицы в исходном приложении.

  1. В диалоговом окне Выбор уникального индекса (Select Unique Record Identifier) определите индекс, который однозначно идентифицирует записи в таблице. Это необходимо для того, чтобы данные в таблице можно было изменять из Access. Нажмите кнопку ОК.

Замечание

Если присоединяется файл Paradox, в котором определен  первичный ключ, то Access автоматически  ищет и присоединяет индексный файл (файл с расширением рх), из которого и определяет первичный ключ. Поэтому  окна Выбор индексного файла и  Выбор уникального индекса не открываются. Если файл Paradox не имеет  первичного ключа, то вы не сможете  изменять данные в этой таблице из Access. Если присоединяемая таблица Paradox имеет поля типа MEMO, Access будет искать соответствующий файл с расширением md (в той же папке, что и присоединяемая таблица). Если файлов с расширением  рх и md не окажется в нужной папке, открыть  присоединенную таблицу из Access не удастся. После того как операция присоединения (или импорта) будет завершена, появится окно с сообщением об успешном окончании  операции.

Диалоговое окно Связь (или  Импорт) остается открытым после завершения операции, позволяя, если это необходимо, присоединить или импортировать  еще какие-либо внешние таблицы. Повторите процедуру с шага 3 по шаг 8 для остальных таблиц базы данных.

Чтобы закрыть диалоговое окно Связь (или Импорт), нажмите  кнопку Закрыть (Close). Присоединенные и  импортированные таблицы появятся в окне базы данных. Слева от значка присоединенной таблицы выводится  стрелка, указывающая на то, что таблица  хранится во внешнем файле (рис. 3.4), а сам значок определяет тип (формат) присоединенного файла.

Дважды щелкните левой  кнопкой мыши по присоединенной таблице  в окне базы данных. Внешняя таблица  будет открыта в режиме Таблицы (рис 3.5).

Замечание

Access 2002 не позволяет  открывать и обновлять индексные  файлы таблиц Xbase, хранящиеся в  формате, отличном от формата  dBASE. Например, Access 2002 не может работать  с индексными файлами приложений, разработанных при помощи компилятора  CA-Clipper (формат NTX). Тем не менее  CA-Clipper (5+) дает возможность создавать  и использовать индексные файлы  в стандартном формате dBASE (NDX). Access 2002 не может применять и  дополнительные индексные файлы  Paradox. Поэтому при создании приложений, данные из которых предполагается  использовать в Access, необходимо  работать только со стандартными  форматами индексных файлов. Модификация  существующего приложения с целью  использования стандартных индексных  файлов не должна вызвать затруднений,  но производительность может  существенно понизиться.

 
Рис. 3.4. Присоединенные таблицы в окне базы данных

В процессе присоединения  индексных файлов dBASE Access создает  специальный файл, который содержит перечень индексных файлов. Это обычный  текстовый файл, который имеет  расширение inf и располагается в  той же папке, что и присоединенная таблица. Данный файл нельзя никуда перемещать, т. к. если Access не находит этого файла (или не находит одного из индексных файлов, указанных в файле inf), работать с присоединенной таблицей нельзя, и придется ее заново присоединять. .

 
Рис. 3.5. Присоединенная таблица Paradox открыта в режиме таблицы

При присоединении или  импорте внешней таблицы Access 2002 читает заголовок файла таблицы и  преобразует типы данных полей внешней  таблицы в типы данных Access. Поскольку Access 2002 поддерживает больше типов данных, чем другие настольные СУБД, преобразование типов происходит правильно. В табл. 3.3 приведено соответствие между  типами данных таблиц dBASE, Paradox и Access.

dBASE III/IV

Paradox 3.0, 4.0, 5.0

Access

Character

Alphanumeric

Текстовый (Text)

Numeric, Floa

Number, Money, BCD

С плавающей точкой (8 байтов) (Double)

   

С плавающей точкой (4 байтов) (Single)

   

Байт (Byte)

 

Short Number

Целое (Integer)

 

Long Number

Длинное целое (Long)

 

Autolncrement

Счетчик (AutoNumber)

Logical

Logical

Логический (Yes/No)

Date

Date, Time, Timestamp

Дата/время (Data/Time)

Memo

Memo, Formatted memo

Поле MEMO (Memo)

 

Binary, OLE

Поле объекта OLE (OLE)


Таблица 3.3. Соответствие типов данных некоторых СУБД

При импорте из многопользовательской  базы данных необходимо иметь монопольный  доступ к импортируемому файлу таблицы. При этом другие пользователи не будут  иметь доступа к файлу таблицы, пока не будет закрыто диалоговое окно Импорт (Import).

Замечание

В Access 2002 вы можете непосредственно  открывать файлы других форматов из диалогового окна Открытие файла  базы данных (Open). Открыв список в поле Типы файлов этого окна, вы увидите  в этом списке все те форматы, которые  мы только что описывали. При выборе файла одного из указанных в списке форматов Access создает новый файл базы данных (в формате Access) в той  же папке, в которой находится  выбранный файл, и присоединяет (импортирует) все таблицы из выбранной базы данных.

Импорт или присоединение  таблиц из внешних источников данных с помощью драйверов ODBC выполняется  аналогично. В списке типов файлов окна Связь (или Импорт) нужно установить значениеODBC Databases, после чего сразу появляется диалоговое окно, в котором необходимо выбрать источник данных или создать новый. После создания источника данных дальнейший процесс импорта (присоединения) выполняется так же, как и для таблиц других баз данных.

Импорт и присоединение  таблиц других форматов — достаточно сложный процесс, который не всегда завершается успешно. При обнаружении  проблем в процессе импорта файла Access 2002 создает таблицу Ошибки импорта (Import Errors), которая отображается в списке таблиц окна базы данных. Чтобы посмотреть обнаруженные ошибки, откройте эту таблицу.

Присоединение и импорт таблиц баз данных Access

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

  1. Выберите команду Файл, Внешние данные, Связь с таблицами (File, Get External Data, Link Tables) или одноименную команду контекстного меню.
  2. В появившемся диалоговом окне Связь (Link) раскройте папку, в которой находится файл MDB, содержащий нужную таблицу. В раскрывающемся списке Тип файла (Files of type) выберите Microsoft Access (*.mdb; *.adp; *.mda; *.mde; *.ade) (обычно тип файла устанавливается в списке по умолчанию). Выделите файл MDB и нажмите кнопку Связь (Link). Появится диалоговое окно Связь с таблицами (Link Tables), изображенное на рис. 3.6.
  3. В списке таблиц этого окна выделите имена тех таблиц, которые нужно присоединить к текущей базе данных. Чтобы выделить все таблицы, нажмите кнопку Выделить все (Select All). Нажмите кнопкуОК. Диалоговое окно Связь с таблицами (Link Tables) будет закрыто, а выделенные таблицы присоединены, и их названия появятся в окне базы данных.

Если присоединяемые таблицы  являются связанными в своей базе данных, то эта связь между ними сохраняется и в той базе данных, к которой они были присоединены. Однако изменить свойства этой связи  или удалить ее можно только в "родной" базе данных.

Импорт таблиц из других баз  данных Access выполняется аналогично присоединению, только используется команда  меню Файл, Внешние данные, Импорт (File, Get External Data, Import) и диалоговые окна Импорт (Import) и Импорт объектов (Import Objects).

 
Рис. 3.6. Диалоговое окно Связь с таблицами

Импорт и присоединение  электронных таблиц

Файлы, созданные приложениями электронных таблиц, управления проектами  и т. д. также представляют собой  таблицы специального вида. Было бы естественным включить в Access 2002 возможность  импорта таких файлов в базу данных Access. И такая возможность в Access 2002 есть. При этом Access 2002 поддерживает следующие форматы:

Использование внешних данных