Быстрый экспорт данных



Быстрый экспорт данных
в другие приложения Microsoft Office

Access позволяет быстро экспортировать данные из таблицы в файл Microsoft Excel. Выполняется это с помощью команды Связи с Office (Office Links). При этом можно экспортировать как всю таблицу, так и ее часть. Если нужно экспортировать всю таблицу, выделите эту таблицу в списке таблиц окна базы данных и нажмите стрелку справа от кнопки Связи с Office (Office Links) на панели инструментов. Выберите из списка команду Анализ в MS Excel (Analyze It with Microsoft Excel). Access создаст новый файл XLS, скопирует в него данные из выделенной таблицы, запустит приложение Excel и откроет в нем этот файл. Аналогично можно экспортировать только часть таблицы Access, например подмножество строк или даже диапазон ячеек. Для этого необходимо открыть таблицу в режиме Таблицы, выбрать подмножество строк, например с помощью фильтра, или выделить диапазон ячеек. Кнопки Связи с Office (Office Links) на панели инструментов в этом режиме нет, но можно выполнить команду Сервис, Связи с Office, Анализ в MS Excel (Tools, Office Links, Analyze It with Microsoft Excel), и выбранные данные будут экспортированы в Excel. На рис. 3.43 показан диапазон ячеек таблицы "Поставщики", который мы таким способом экспортировали в Excel.



Экспорт данных в другие форматы




СУБД Access 2002 предоставляет еще более широкие возможности для экспорта данных, чем предыдущие версии. Экспорт из таблиц базы данных может осуществляться в любой из форматов, для которых поддерживается операция импорта данных, в том числе в текстовые файлы, электронные таблицы, документы HTML и XML и составные документы Microsoft Word. Экспортировать данные Access можно не только из таблицы, но и из запроса. Можно экспортировать не только данные, но и объекты Access — формы, отчеты. В данном разделе мы рассмотрим возможность экспорта именно данных из таблиц Access. Об экспорте других объектов мы будем говорить в разделах, посвященных этим объектам.



Экспорт данных в форматы объектов WWW (World Wide Web)



Экспорт данных в форматы объектов WWW (World Wide Web)

Access 2002 предоставляет очень широкий выбор форматов объектов WWW, в которые можно экспортировать данные. Во-первых, это статические страницы в формате HTML. Полученные таким образом документы будут являться мгновенными снимками таблиц на момент их экспорта. Кроме того, таблицы Access 2002 можно экспортировать либо в файлы формата IDC/HTX, либо в файлы формата ASP. И в этом случае отображаемые программой просмотра Интернети данные будут актуальными, однако их обновление не может производиться средствами программы просмотра. И наконец, можно формировать из таблиц Access документы XML для обмена с другими приложениями. Более аодробные сведения об экспорте данных в форматы объектов WWW приведены в гл. 12.



Экспорт данных в текстовый файл



Экспорт данных в текстовый файл

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

Откройте базу данных Access, из которой требуется экспортировать таблицу. Активизируйте окно базы данных, щелкнув по его заголовку левой кнопкой мыши.
Раскройте список таблиц и выделите в нем нужную таблицу.
Выберите команду Файл, Экспорт (File, Export). Появится диалоговое окно Экспорт объекта (Export Table to).
В раскрывающемся списке Тип файла (Save as Type) этого диалогового окна выберите элемент Текстовые файлы (Text Files). Перейдите в папку, в которой нужно сохранить экспортируемый файл, в текстовом поле Имя файла (File Name) укажите имя файла и нажмите кнопку Экспорт (Export).
Запустится Мастер экспорта текстов, использование которого аналогично использованию Мастера импорта текстов, описанного ранее в этой главе. Единственным исключением является то, что при экспорте данных нельзя переопределить названия полей. Первое окно мастера показано на рис. 3.41. В качестве формата экспорта выбран файл с разделителями. В следующем диалоговом окне можно будет выбрать символы для разделителей и включить в первую строку текстового файла имена полей таблицы. Кроме того, нажав кнопку Дополнительно (Advanced), можно создать спецификацию экспорта.


Экспорт в электронную таблицу или файлы dBASE, Paradox



Экспорт в электронную таблицу или файлы dBASE, Paradox

Для экспорта данных в электронную таблицу Microsoft Excel или Lotus 1-2-3, а также в файлы базы данных dBASE или Paradox можно использовать следующую процедуру:

Откройте базу данных Access, из которой нужно экспортировать таблицу. Активизируйте окно базы данных, щелкнув по его заголовку левой кнопкой мыши.
Раскройте список таблиц, щелкнув по ярлыку Таблицы на панели объектов окна базы данных, и выберите в этом списке экспортируемый объект.
Выберите команду меню Файл, Экспорт (File, Export) или команду Экспорт (Export) из контекстного меню. Появится диалоговое окно Экспорт объекта (Export Tableto), изображенное на рис. 3.40.
В раскрывающемся списке Тип файла (Save as Type) этого диалогового окна выберите тип файла, в который вы хотите экспортировать таблицу Access. Найдите папку, в которую нужно сохранить экспортируемый файл, в текстовом поле Имя файла (File Name) укажите имя файла и нажмите кнопку Сохранить (Save all).
Если процедура экспорта закончится успешно, Access создаст новый файл, с которым вы сможете работать с помощью электронной таблицы или соответствующей СУБД.

Замечание

СУБД Paradox и dBASE не позволяют иметь такие длинные имена полей, как Access, поэтому в процессе импорта длинные имена полей усекаются. Это в некоторых случаях может привести к ошибке, т. к. в результате усечения имена полей могут оказаться дублирующимися. Поэтому перед экспортом лучше создать временную таблицу, в которой изменить имена полей так, чтобы они удовлетворяли требованиям соответствующей СУБД, и затем выполнить экспорт именно из временной таблицы. Для экспорта данных в формат Paradox 8.0 или dBASE 7 необходимо иметь на компьютере Borland Database Engine (BDE) версии 4.x или выше.

Иллюстрация 3.40. Диалоговое окно Экспорт объекта



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



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

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

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

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

Таблицы предыдущей версии Access 2000 (MDB) обрабатываются совершенно аналогично таблицам Access 2002. Они не требуют от пользователя специальных усилий по импорту и открываются так же, как таблицы Access 2002 (см. разд. "Открытие базы данных" гл. 1). Отличие будет состоять только в том, что после названия открытого файла в заголовке окна базы данных в скобках появится надпись: Формат 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 или которые могут быть связаны с базой данных Access, представлены в табл. 3.1. Вы можете увидеть их, если в меню Файл (File) выберете команду Внешние данные, Импорт (Get External Data, Import), а затем щелкнете мышкой по расширению поля Типы файлов (Files of type) в диалоговом окне Импорт (Import). Форматы, в которые можно экспортировать данные из базы данных Access, приводятся в табл. 3.2. Их можно увидеть, если в меню Файл (File) выбрать команду Экспорт (Exort) и затем щелкнуть кнопкой мыши по расширению поля Типы файлов (Files of type). В обоих случаях первая строчка содержит шаблоны файлов баз данных и проектов самой Microsoft Access, остальные приведены в таблицах.



Диалоговое окно Связь



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

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


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



Иллюстрация 3.3. Диалоговое окно Выбор индексного файла

Замечание

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

В диалоговом окне Выбор уникального индекса (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), работать с присоединенной таблицей нельзя, и придется ее заново присоединять. .



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



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

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



Рабочий лист...



Иллюстрация 3.7. Рабочий лист Excel

Для того чтобы подготовить данные на рабочем листе для импорта, может потребоваться выполнить несколько предварительных действий.

Запустите Microsoft Excel и откройте рабочий лист, данные из которого нужно импортировать.
Добавьте, если это необходимо, заголовки столбцов над первой строкой импортируемого диапазона данных. Заголовки столбцов будут применяться в качестве имен полей, поэтому в них нельзя употреблять точку' (.), восклицательный знак (!) и прямоугольные скобки ([]). Нельзя использовать одно имя дважды. Если в заголовках столбцов встречаются запрещенные символы или один заголовок применяется несколько раз, в процессе импорта данных это вызовет сообщение об ошибке.
Если необходимо импортировать не все данные рабочего листа, выделите нужный диапазон ячеек (вместе со строкой заголовка), а затем выберите команду Вставка, Имя, Присвоить (Insert, Name, Define) и присвойте имя выделенному диапазону.
Сохраните рабочий лист и закройте приложение Excel.
Замечание

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

Теперь данные рабочего листа можно импортировать в таблицу Access 2002. Для этого:

Запустите Access 2002 и откройте базу данных, в которую необходимо импортировать данные. Активизируйте окно База данных (Database), щелкнув по его заголовку левой кнопкой мыши.
Выберите команду Файл, Внешние данные, Импорт (File, Get External Data, Import). Появится диалоговое окно Импорт (Import).
Перейдите в папку, содержащую файл рабочего листа Excel. В раскрывающемся списке Тип файла (File of Type) выделите элемент Microsoft Excel (*.xls). Выделите имя файла и нажмите кнопку Импорт (Import) или просто дважды щелкните по имени файла левой кнопкой мыши. Запустится Мастер импорта электронной таблицы (Import Spreadsheet Wizard), первое диалоговое окно которого показано на рис. 3.8.
Если необходимо импортировать весь рабочий лист, выберите переключатель листы (Show Worksheets). Если же предполагается импортировать именованный диапазон рабочего листа, то выберите переключатель именованные диапазоны (Show Named Ranges). В списке первого диалогового окна Мастера импорта электронных таблиц будут выведены имена рабочих листов или диапазонов, соответственно. На рис. 3.8 список объектов состоит только из одного наименования "Клиенты", т. к. импортируемая таблица имеет один рабочий лист.


Первое диалоговое окно Мастера импорта электронной таблицы



Иллюстрация 3.8. Первое диалоговое окно Мастера импорта электронной таблицы

Выделите нужное имя рабочего листа или диапазона ячеек. В нижней части первого окна мастера импорта выводится образец данных из выделенного элемента электронной таблицы. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу мастера. Появится диалоговое окно, изображенное на рис. 3.9.
Если первая строка импортируемых данных содержит заголовки столбцов, то их можно использовать в качестве имен полей. Для этого установите флажок Первая строка содержит заголовки столбцов (First Row Contains Column Headings). Снова нажмите кнопку Далее (Next). Появится диалоговое окно, показанное на рис. 3.10.


Второе диалоговое окно Мастера импорта электронной таблицы



Иллюстрация 3.9. Второе диалоговое окно Мастера импорта электронной таблицы



Третье диалоговое окно Мастера импорта электронной таблицы



Иллюстрация 3.10. Третье диалоговое окно Мастера импорта электронной таблицы

В этом диалоговом окне можно указать, где необходимо сохранить импортируемые данные — в новой таблице или в существующей. Выберите нужный переключатель и, при необходимости, нужную таблицу в списке в существующей таблице (In ah Existing Table). Нажмите кнопку Далее (Next). Если вы добавляете данные к уже существующей таблице, то все промежуточные шаги будут пропущены и появится последнее диалоговое окно мастера (см. шаг 12). Если же вы создаете новую таблицу, то появится диалоговое окно, показанное на рис. 3.11.
В этом окне вы можете выбрать те столбцы, которые нужно импортировать (это необязательно все столбцы рабочего листа), и ввести некоторые параметры для полей будущей таблицы. Чтобы не импортировать (пропустить) какое-либо поле (столбец рабочего листа), выделите его и установите флажок не импортировать (пропустить) поле (Do not import field).
Мастер импорта электронных таблиц позволяет изменить или добавить (если они не определены в первой строке рабочего листа) имена полей таблицы, соответствующих столбцам рабочего листа. Для этого выделите столбец, щелкнув по нему левой кнопкой мыши, а затем укажите имя в текстовом поле имя поля (Field Name) (горизонтальная полоса прокрутки в диалоговом окне позволяет просмотреть все столбцы листа).
Если какое-либо поле нужно проиндексировать, выберите требуемый тип индекса в раскрывающемся списке индекс (Indexed).


Четвертое диалоговое окно Мастера импорта электронной таблицы



Иллюстрация 3.11. Четвертое диалоговое окно Мастера импорта электронной таблицы

Если данные рабочего листа не форматировались или были отформатированы как текст, Access позволяет выбрать тип данных для каждого поля при помощи раскрывающегося списка тип данных (Data Type). На рис. 3.11 раскрывающийся список тип данных недоступен, поскольку импортируемый рабочий лист содержал форматирование, которое Access 2002 смог распознать автоматически.
Повторите шаги 9—11 для каждого столбца импортируемых данных. После того как заданы все имена и типы данных полей, определены проиндексированные поля, а также столбцы, которые нужно пропустить при импорте, нажмите кнопку Далее. Появится следующее диалоговое окно мастера импорта (рис. 3.12).
На пятом шаге Мастера импорта электронной таблицы можно определить ключевое поле новой таблицы. Чтобы Access 2002 автоматически добавил к импортируемой таблице ключевое поле с типом данных Счетчик и присвоил уникальный номер каждой строке таблицы, выберите переключатель автоматически создать ключ (Let Access add Primary Key). Чтобы определить один из столбцов импортируемого диапазона ячеек в качестве ключевого поля таблицы, выберите переключатель определить ключ (Choose my own Primary Key) и выделите в раскрывающемся списке название столбца. Если для импортируемой таблицы не требуется определение ключевого поля, выберите переключатель не создавать ключ (No Primary Key). Нажмите кнопку Далее. Появится последнее диалоговое окно.


Пятое диалоговое окно Мастера импорта электронной таблицы



Иллюстрация 3.12. Пятое диалоговое окно Мастера импорта электронной таблицы

Совет

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

В поле ввода Импорт в таблицу (Import to Table) укажите имя новой таблицы. По умолчанию Access 2002 использует имя импортируемого рабочего листа или диапазона ячеек в качестве имени новой таблицы. Сразу после завершения импорта данных можно вызвать Анализатор таблиц, позволяющий оптимизировать структуру таблицы, например исключать повторяющиеся данные. В этом случае необходимо установить флажок Проанализировать таблицу после импорта данных (I would like a wizard to analyze my table after importing the data). Нажмите кнопку Готово (Finish), чтобы завершить процесс импорта данных. После того как импорт данных будет завершен, появится сообщение об успешном окончании операции.
Замечание

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

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

Таблица ошибок импорта (рис. 3.14) позволяет найти записи, в которых возникли ошибки, и исправить их. Однако более правильным способом будет исправить рабочий лист Excel и повторить импорт данных. После исправления ошибок удалите эту таблицу.

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



Сообщение о возникновении ошибок импорта



Иллюстрация 3.13. Сообщение о возникновении ошибок импорта



Таблица ошибок импорта



Иллюстрация 3.14. Таблица ошибок импорта

Чтобы узнать, какие типы данных полей были выбраны при импорте рабочего листа, в окне базы данных откройте созданную таблицу в режиме Конструктора (рис. 3.15). В отличие от присоединенных таблиц, все свойства полей импортированных таблиц можно изменить.



Импортированная таблица в режиме Конструктора



Иллюстрация 3.15. Импортированная таблица в режиме Конструктора

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

Присоединение рабочего листа Excel выполняется практически так же, как и импорт, только используется команда Связь с таблицами (Link Tables). Мастер связывания электронной таблицы (Link Spreadsheet Wizard) аналогичен мастеру импорта, однако он не позволяет выбирать столбцы рабочего листа и изменять их параметры.



Первое диалоговое окно Мастера импорта текстов



Иллюстрация 3.16. Первое диалоговое окно Мастера импорта текстов

Если файл содержит разделители полей, то укажите символ разделителя на втором шаге Мастера импорта текстов. Если в импортируемом файле текстовые значения ограничены символом, отличным от двойных кавычек, то укажите ограничитель текстовых значений, выделив его в раскрывающемся списке Ограничитель текста (Text Qualifier). Если в первой строке импортируемого файла содержатся заголовки полей, установите флажок Первая строка содержит имена полей (First Row Contains Field Names). В нижней части окна вы будете видеть образец, по которому можно определить правильность сделанного вами выбора. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу Мастера импорта текстов (шаг 7).
При импорте текстовых файлов с фиксированной шириной полей Мастер им-поота текстов попытается автоматически разделить поля. Просмотрев образец данных, можно указать дополнительное место разделения полей (черную стрелку), а также переместить или удалить существующий разделитель. После установки ширины всех полей нажмите кнопку Далее (Next) для перехода к следующему шагу мастера импорта.


Второе диалоговое...



Иллюстрация 3.17. Второе диалоговое окно Мастера импорта текстов для текстовых файлов с разделителями



Третье диалоговое...



Иллюстрация 3.18. Третье диалоговое окно Мастера импорта текстов для текстовых файлов с фиксированной шириной полей

Чтобы создать новую таблицу и поместить в нее данные из текстового файла, выберите переключатель в новой таблице (In a New Table) (рис, 3.19). Чтобы добавить импортируемые данные к существующей таблице, выберите переключатель в существующей таблице (In an Existing Table) и имя таблицы из раскрывающегося списка. Нажмите кнопку Далее, чтобы перейти к следующему шагу Мастера импорта текстов. Если был выбран переключатель в существующей таблице, то перейдите к шагу 10.


Четвертое диалоговое окно Мастера импорта текстов



Иллюстрация 3.19. Четвертое диалоговое окно Мастера импорта текстов

Замечание

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

Пятое диалоговое окно Мастера импорта текстов изображено на рис. 3.20. Оно очень похоже на соответствующее диалоговое окно Мастера импорта электронных таблиц (см. разд. "Импорт и присоединение электронных таблиц" данной главы). В нем можно гибко настроить процедуру импорта: пропустить некоторые поля, изменить их имена или ввести названия полей, если они отсутствовали в текстовом файле, изменить типы данных, присвоенных системой по умолчанию, проиндексировать поля. После того как параметры импорта всех полей будут определены, переходите к следующему шагу мастера импорта.
В появившемся диалоговом окне шестого шага мастера импорта (рис. 3.21) нужно определить ключевое поле новой таблицы. Этот шаг также полностью совпадает с соответствующим шагом при импорте рабочего листа Excel.


Пятое диалоговое окно Мастера импорта текстов



Иллюстрация 3.20. Пятое диалоговое окно Мастера импорта текстов



Шестое диалоговое окно Мастера импорта текстов



Иллюстрация 3.21. Шестое диалоговое окно Мастера импорта текстов

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



Диалоговое окно Спецификация импорта для текстовых файлов с разделителями полей



Иллюстрация 3.22. Диалоговое окно Спецификация импорта для текстовых файлов с разделителями полей



Диалоговое окно...



Иллюстрация 3.23. Диалоговое окно спецификация импорта для текстовых файлов с полями фиксированной ширины



Текстовый файл в формате CSV открыт в приложении "Блокнот"



Иллюстрация 3.24. Текстовый файл в формате CSV открыт в приложении "Блокнот"

Замечание

С помощью приложения "Блокнот" можно быстро определить тип текстового файла, который предполагается импортировать в таблицу Access 2002. Однако приложение "Блокнот" может работать только с файлами, размер которых не превышает 60 Кбайт. Для просмотра больших текстовых файлов можно использовать редактор WordPad. Но работая с этим редактором при просмотре или редактировании текстовых файлов, нельзя применять форматирование и сохранять файлы в формате DOC, т. к. в этом случае текстовый файл нельзя будет импортировать.

В текстовом файле SDF (Standard Data Format), создаваемом командой dBASE COPY ТО ИмяФайла DELIMITED, все текстовые значения заключаются в прямые кавычки (рис. 3.25). Значения полей типа Numeric и Date в кавычки не заключаются. Этот формат текстовых файлов является стандартом для многих СУБД и широко распространен в других приложениях.

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

Иллюстрация 3.25. Текстовый файл в формате SDF открыт в приложении "Блокнот"



Первое диалоговое окно Мастера присоединения документов HTML



Иллюстрация 3.26. Первое диалоговое окно Мастера присоединения документов HTML

Если первая строка таблицы содержит заголовки столбцов, их можно использовать в качестве имен полей. Для этого необходимо установить флажок Первая строка содержит заголовки столбцов (First Row Contains Column Headings). В нашем примере заголовков столбцов не было, поэтому флажок не установлен. Нажмите кнопку Далее, чтобы перейти к следующему шагу мастера.
При импорте данных из документа HTML можно либо создавать новую таблицу Access, либо добавлять данные в существующую таблицу, поэтому далее выводится диалоговое окно, аналогичное представленному на рис. 3.19, в котором и нужно определить, где вы будете сохранять импортируемые данные. При присоединении страницы HTML этот шаг пропускается.
В следующем диалоговом окне мастера можно описать каждое поле импорта: имя поля, тип данных. Индексироваться поля в данном случае не могут (рис. 3.27).
При импорте данных из документа HTML на следующем шаге Мастер импорта документов HTML запрашивает указания о том, какое поле можно считать ключевым для новой таблицы.
Замечание

При присоединении таблицы этот шаг пропускается, ключевое поле не определяется и присоединенная таблица из документа HTML будет доступна только в режиме чтения.

В последнем диалоговом окне нужно указать имя таблицы Access.


Второе диалоговое окно Мастера присоединения документов HTML



Иллюстрация 3.27. Второе диалоговое окно Мастера присоединения документов HTML

Гиперссылки, которые могут содержаться в файле HTML, преобразуются по умолчанию в поля типа Гиперссылка, но только в том случае, если они определены тэгом

<А HREF>.

Если в таблице содержатся вложенные рисунки в формате GIF или JREG, они будут игнорироваться.



Диалоговое окно импорта документа XML



Иллюстрация 3.28. Диалоговое окно импорта документа XML

Access 2002 выполняет импорт данных и, как всегда, информацию о записях, в которых обнаружены ошибки, сохраняет в таблице Ошибки импорта (Import Error). (Подробнее о работе с документами XML см. гл. 12.)



Первое диалоговое окно Мастера импорта из Exchange/Outlook



Иллюстрация 3.29. Первое диалоговое окно Мастера импорта из Exchange/Outlook



Второе диалоговое окно Мастера импорта из Exchange/Outlook



Иллюстрация 3.30. Второе диалоговое окно Мастера импорта из Exchange/Outlook

Последовательность диалоговых окон Мастера импорта из Exchange/Outlook аналогична той последовательности, которая выдается Мастером импорта электронных таблиц. В следующем диалоговом окне необходимо установить переключатель, указывающий, где нужно сохранить импортируемые данные (рис. 3.30). Нажмите кнопку Далее.


Третье диалоговое окно Мастера импорта из Exchange/Outlook



Иллюстрация 3.31. Третье диалоговое окно Мастера импорта из Exchange/Outlook



Четвертое диалоговое окно Мастера импорта из Exchange/Outlook



Иллюстрация 3.32. Четвертое диалоговое окно Мастера импорта из Exchange/Outlook

Теперь можно описать каждое поле адресной книги, которое нужно импортировать. Мы в примере изменили имя первого поля (рис. 3.31). Нажмите кнопку Далее.
В четвертом диалоговом окне нужно определить ключевое поле (рис. 3.32). В данном случае лучше выбрать переключатель автоматически создать ключ. Нажмите кнопку Далее.
В последнем диалоговом окне требуется только определить имя новой таблицы и нажать кнопку Готово (Finish).
Откройте получившуюся таблицу (в нашем случае, "Контакты"). Она будет выглядеть так, как показано на рис. 3.33.



Импортированные данные из папки "Контакты" Outlook



Иллюстрация 3.33. Импортированные данные из папки "Контакты" Outlook



Выбор папки Exchange



Иллюстрация 3.34. Выбор папки Exchange

Присоединение адресных книг и папок Exchange выполняется аналогично:

Открыть базу данных, к которой нужно присоединить адресную книгу или папку Exchange. Активизировать окно базы данных, щелкнув по его заголовку левой кнопкой мыши, и выбрать команду Файл, Внешние данные, Связь с таблицами (File, Get External Data, Link Tables)
В раскрывающемся списке Тип файла (Files of Type) диалогового окна Связь нужно выделить элемент Exchange. Появляется диалоговое окно мастера, которое выглядит так же, как при импорте из адресной книги (см. рис. 3.29). Выберите нужную папку Exchange (рис. 3.34) и нажмите кнопку Далее. В примере мы выбрали папку "Контакты".
Сразу появится последнее диалоговое окно мастера, в которое необходимо ввести имя присоединенной таблицы.
После завершения операции присоединенная папка будет выглядеть так, как это показано на рис. 3.35.



Присоединенные файлы разных форматов



Иллюстрация 3.35. Присоединенные файлы разных форматов



Сообщение об отсутствии внешней таблицы



Иллюстрация 3.36. Сообщение об отсутствии внешней таблицы

Обновить связь с таблицей можно двумя способами.

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

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



Всплывающая подсказка о местоположении внешней таблицы



Иллюстрация 3.37. Всплывающая подсказка о местоположении внешней таблицы

Второй способ обновления связи с внешней таблицей — это использование Диспетчера связанных таблиц (Linked Table Manager).
Чтобы воспользоваться Диспетчером связанных таблиц:

Выберите команду меню Сервис, Служебные программы, Диспетчер связанных таблиц (Tools, Database Utilities, Linked Table Manager).
В появившемся диалоговом окне Диспетчер связанных таблиц (Linked Table Manager), изображенном на рис. 3.38, выводится список всех присоединенных таблиц, а также полный путь и имя файла таблицы. Установите флажки слева у тех таблиц, файлы которых были перемещены. Если все присоединенные таблицы размещаются в одном внешнем MDB-файле, нужно выбрать сразу все таблицы, для чего нажмите кнопку Выделить все (Select All). Когда все флажки будут установлены, нажмите кнопку ОК.
Появится диалоговое окно Выбор нового расположения (Select New Location of), изображенное на рис. 3.39. Откройте папку, в которую перемещен файл таблиц, и выделите его. Нажмите кнопку Открыть (Open). Если связь будет успешно обновлена, то Access 2002 выведет окно с соответствующим сообщением.
Нажмите кнопку ОК, чтобы закрыть окно сообщения, а затем кнопку Закрыть (Close), чтобы закрыть окно Диспетчера связанных таблиц.


Диалоговое окно Диспетчер связанных таблиц



Иллюстрация 3.38. Диалоговое окно Диспетчер связанных таблиц



Диалоговое окно Преобразовать в базу данных



Иллюстрация 3.39. Диалоговое окно Преобразовать в базу данных

Диспетчер связанных таблиц можно использовать не только в том случае, когда файл был перемещен или переименован, но и тогда, когда была изменена структура внешней таблицы. После этого связь должна быть обязательно обновлена. В этом случае диалоговое окно Выбор нового расположения (Select New Location of) открываться не будет. Чтобы оно открывалось всегда, в диалоговом окне Диспетчер связанных таблиц (Linked Table Manager) можно установить флажок Всегда выдавать запрос нового местонахождения (Always Prompt for New Location).



Диалоговое окно Экспорт текста



Иллюстрация 3.41. Диалоговое окно Экспорт текста



Текстовый файл "Поставщики", открытый в приложении "Блокнот"



Иллюстрация 3.42. Текстовый файл "Поставщики", открытый в приложении "Блокнот"

В последнем диалоговом окне мастера вы определяете имя текстового файла. После нажатия кнопки Готово (Finish), при успешном выполнении процедуры, вы получите текстовый файл выбранного формата. На рис. 3.42 показан текстовый файл, экспортированный из таблицы "Поставщики".

Замечание

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

Порядок записей в созданном путем экспорта текстовом файле определяется первичным ключом таблицы. Если у экспортируемой таблицы нет первичного ключа, записи экспортируются в том порядке, в котором они были добавлены в таблицу.



Диапазон ячеек таблицы Access после экспорта в Excel



Иллюстрация 3.43. Диапазон ячеек таблицы Access после экспорта в Excel

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

Объектом экспорта данных для слияния с текстовым документом Microsoft Word может быть не только таблица, чаще всего это бывает запрос, который позволяет выбрать из таблицы нужные записи. Процесс слияния таблицы выполняется так же, как и процесс слияния результатов запроса, поэтому мы рассмотрим его чуть ниже (см. разд. "Передача результатов запроса в другие приложения"гл. 4).



В таблицу Access 2000 будет добавлен выделенный диапазон ячеек



Иллюстрация 3.44. В таблицу Access 2000 будет добавлен выделенный диапазон ячеек

Выберите команду Правка, Добавить из буфера (Edit, Paste Append). Если в процессе добавления записей не возникнет ошибок, появится окно, запрашивающее подтверждение на добавление записей в таблицу (рис. 3.45). Нажмите кнопку Да (Yes). Новые записи будут добавлены в конец таблицы Access (рис. 3.46). Чтобы разместить добавленные записи в правильной последовательности, выберите команду Записи, Удалить фильтр (Records, Remove Filter/Sort).
При добавлении в таблицу Access 2002 данных с помощью буфера обмена Windows могут возникнуть ошибки по одной из двух причин:

типы данных ячеек Excel не соответствуют типам данных полей таблицы Access;
в первичном ключе добавляемых записей содержатся значения, которые уже есть в таблице Access.


Подтвердите вставку записей из буфера обмена



Иллюстрация 3.45. Подтвердите вставку записей из буфера обмена



Выделенные записи добавлены из буфера обмена



Иллюстрация 3.46. Выделенные записи добавлены из буфера обмена

В любом случае Access 2000 создаст таблицу "Ошибки вставки" (Paste Errors) и запишет в нее все записи, вызвавшие ошибки. Использование таблицы "Ошибки вставки" аналогично использованию таблицы ошибок импорта данных, описанной ранее в этой главе.

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

После завершения добавления записей в таблицу появится сообщение о том; что записи, которые не удалось добавить из буфера обмена, помещены в таблицу "Ошибки вставки".



Таблица "Ошибки вставки"



Иллюстрация 3.47. Таблица "Ошибки вставки"

Совет

Если в процессе вставки выдается много сообщений об ошибках, вызванных повторяющимися значениями в ключевом поле, лучше прервать этот процесс (реальная вставка записей происходит только после подтверждения в конце процесса), найти записи с повторяющимися значениями, исправить их и заново выполнить процесс вставки. Для того чтобы быстро найти повторяющиеся данные, можно выполнить запрос специального вида — "Повторяющиеся записи". Раскройте список запросов в окне базы данных, нажмите кнопку Создать (New), в появившемся диалоговом окне Новый запрос (New Query) выделите элемент Повторяющиеся записи (Find Duplicates Query Wizard) и нажмите кнопку ОК. (Более подробно о создании запросов см. гл. 4.)

Замечание

Если записи вставляются в таблицу, ключом которой является поле типа Счетчик (AutoNumber), то при добавлении новых записей они перенумеровываются в соответствии с последним значением счетчика. То есть даже если значения этого поля в добавляемых записях будут совпадать с ключами в уже существующих записях, они будут вставлены, при этом значения ключей в новых записях будут отличаться от тех, что они имели до вставки.

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

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

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

Откройте нужную таблицу в режиме Таблицы (мы использовали для примера таблицу "Поставщики").
Выделите в этой таблице нужный диапазон ячеек, нужное количество записей или все записи. Таблица "Поставщики" примет вид, приведенный на рис. 3.48. Если необходимо выделить все поля во всех записях таблицы, выберите команду Правка, Выделить все записи (Edit, Select All Records) или щелкните левой кнопкой мыши по серому прямоугольнику в левом верхнем углу окна на пересечении строки заголовков столбцов и столбца выделения записей.


Выделенный диапазон ячеек в таблице "Поставщики"



Иллюстрация 3.48. Выделенный диапазон ячеек в таблице "Поставщики"

Нажмите комбинацию клавиш <Ctrl>+<C> или выберите команду Правка, Копировать, чтобы скопировать выделенные данные в буфер обмена.
Запустите Microsoft Word и создайте в нем новый документ, выбрав команду Файл, Создать (File, New).
Выберите команду Правка, Вставить (Edit, Paste) или нажмите комбинацию клавиш <Ctrl>+<V>. Данные из буфера обмена будут вставлены в документ Word в виде отформатированной таблицы (рис. 3.49).
Заметьте, что первая строка данных, копируемых Access в буфер обмена, всегда содержит названия столбцов таблицы. Если документ Word создается при помощи нескольких операций копирования, ненужные заголовки столбцов таблицы требуется удалить вручную.



Данные, импортированные в документ Word для Windows в виде таблицы



Иллюстрация 3.49. Данные, импортированные в документ Word для Windows в виде таблицы



Импорт данных из документов и схем XML


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

только структуру таблицы;
таблицу вместе с данными;
только данные, которые добавляются в уже существующую таблицу.
Чтобы выполнить импорт таблиц из файла XML, нужно:

Открыть базу данных, в которую требуется импортировать данные. Активизировать окно базы данных, щелкнув по его заголовку левой кнопкой мыши. Выбрать команду Файл, Внешние данные, Импорт (File, Get External Data, Import).
В диалоговом окне Импорт (Import) выбрать в раскрывающемся списке Тип файла (Files of Туре) элемент Документы XML (XML Documents).
В поле Папка (Look in) выбрать папку, содержащую документ HTML, который нужно импортировать, и выделить его в списке. Нажать кнопку Импорт (Import).
Появится первое диалоговое окно Импорт XML (Import XML) (рис. 3.28), в котором будет отображен список таблиц, содержащихся в выбранном файле XML. Импортироваться будут все перечисленные таблицы, вы не можете выбрать в этом списке одну или несколько таблиц. По умолчанию выполняется экспорт таблицы вместе с данными. Если же вы хотите импортировать только структуру таблицы или добавить данные из файла XML в уже существующую таблицу, нажмите кнопку Параметры (Options). В нижней части окна появится группа переключателей, в которой необходимо выбрать требующийся вариант. Нажмите кнопку ОК.


Импорт и присоединение данных из адресных книг и папок Exchange


Access 2000 позволяет также импортировать данные из адресных книг Microsoft Outlook и папок Microsoft Exchange или присоединять эти книги и папки в виде таблицы Access. Чтобы выполнить импорт данных из адресной книги Outlook, необходимо:

Открыть базу данных, в которую нужно импортировать данные. Активизировать окно базы данных, щелкнув по его заголовку левой кнопкой мыши. Выбрать команду Файл, Внешние данные, Импорт (File, Get External Data, Import).
В раскрывающемся списке Тип файла (Files of Type) диалогового окна Импорт нужно выделить элемент Exchange(). После этого будет запущен соответствующий мастер и откроется диалоговое окно, содержащее список адресных книг и папок Exchange, если вы используете Exchange как систему электронной почты (рис. 3.29). Раскройте список адресных книг и выберите в нем нужную книгу или папку и нажмите кнопку Далее.


Импорт и присоединение документов HTML и данных с Web-узлов


Access 2002 позволяет импортировать и присоединять таблицы из документов HTML. Для этого используется Мастер импорта (присоединения) HTML, который очень похож на Мастер импорта (присоединения) электронных таблиц. Чтобы присоединить таблицу из документа HTML, необходимо:

Открыть базу данных, к которой требуется присоединить таблицу, после чего активизировать окно базы данных, щелкнув по его заголовку левой кнопкой мыши.
Выбрать команду Файл, Внешние данные, Связь с таблицами (File, Get External Data, Link) или Файл, Внешние данные, Импорт (File, Get External Data, Import). Появятся диалоговые окна Связь (Link) или Импорт (Import).
В раскрывающемся списке Тип файла (Files of Type) диалогового окна нужно выделить элемент Документы HTML (HTML Files), открыть папку, содержащую документ HTML, который требуется импортировать, и выделить его. Нажать кнопки Связь (Link) или Импорт (Import). Появится первое диалоговое окно мастера (рис. 3.26).
Замечание

Access 2002 позволяет также присоединять и импортировать документы HTML, которые находятся на удаленных FTP- и HTTP-серверах. Для этого требуется в поле Имя файла (File Name) диалоговых окон Связь (Link) или Иморт (Import) указать интернет-адрес нужного файла, Правда это присоединение не является столь полноценным, как у других типов файлов. В процессе присоединения удаленного файла HTML создается его локальная копия, которая является необновляемой. Таким образом, доступ к удаленному файлу получается только на чтение.



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


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

файлы рабочих листов (XLS) Excel 2.x, 3.0, 4.0, 5.0, 7.0 (Excel 95), 8.0 (Excel 97), 9.0 (Excel 2000), 10.0 (Excel 2002);
электронные таблицы Lotus 1-2-3 в форматах WKS, WK1, WK2, WRK3, WRK4.
Этих форматов вполне достаточно, потому что практически все приложения, предназначенные для работы с электронными таблицами, позволяют экспортировать данные в один из этих форматов.

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

Замечание

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

Для того чтобы импорт прошел без ошибок, данные на импортируемом листе должны быть соответствующим образом организованы. На рис. 3.7 показан формат представления данных на рабочем листе Excel, который наиболее подходит для импорта в базу данных. Обратите внимание на то, что имена всех полей находятся в первой строке таблицы, а оставшиеся строки содержат данные. Тип данных в каждой ячейке одного столбца должен быть одинаковым, и в каждой строке должны использоваться одни и те же поля. В таком виде таблица на рабочем листе максимально соответствует таблице Access, что позволит упростить процесс импорта.



Импорт и присоединение таблиц из текстовых файлов


Access 2002 позволяет импортировать в базы данных табличные данные из обычных текстовых файлов. Эти файлы могут быть созданы либо одним из текстовых редакторов (например, приложением "Блокнот" в Windows), либо путем экспорта из другого приложения. Такая возможность особенно удобна в тех случаях, когда вам необходимы данные из приложения, которое не позволяет экспортировать данные из внутреннего представления в форматы DBF, WKS или XLS.

Существуют два основных формата текстовых файлов, в которых содержатся табличные данные:

с полями фиксированной ширины — строки состоят из полей фиксированной ширины, пустые позиции при этом заполняются пробелами;
с полями переменной ширины — со специальными символами — разделителями полей.
Для файлов с фиксированной шириной полей начало каждого поля определяется по его позиции относительно начала строки. Строки имеют одинаковую длину и разделяются символами новой строки (обычно это пара символов — возврат каретки и перевод строки).

Для файлов с разделителями полей существует несколько стандартных вариантов разделения полей. Они приведены в табл. 3.4.



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


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

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

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



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



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

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

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

Чтобы добавить новые записи в таблицу Access 2002 при помощи буфера обмена Windows:

Запустите приложение, которое будет использоваться для копирования данных в буфер обмена (в нашем примере это Microsoft Excel), и откройте файл с данными.
Выделите данные, которые нужно добавить в таблицу Access. Например, выделите диапазон ячеек рабочего листа, начиная со столбца, соответствующего первому полю таблицы Access (рис. 3.44). При этом необязательно выделять все оставшиеся столбцы, соответствующие полям таблицы Access, поскольку Access 2002 добавит пустые значения или значения по умолчанию в поля, соответствующие столбцам, не включенным в выделенный диапазон.
Выберите команду Правка, Копировать (Edit, Copy) или нажмите комбинацию клавиш <Ctrl>+<C>, чтобы скопировать выделенный диапазон ячеек в буфер обмена Windows.
Откройте таблицу, в которую нужно добавить данные, в режиме Таблицы.


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


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

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 2002 сохраняет информацию о расположении и структуре внешних файлов. Если изменить местоположение или имя файла, то Access 2002 не сможет найти нужную таблицу и появится сообщение об ошибке (рис. 3.36).

В этом случае связь нужно обновить. То же самое необходимо сделать, если структура внешней таблицы была изменена, например, было добавлено поле или изменился тип данных какого-нибудь поля.



Особенности импорта текстовых файлов



Особенности импорта текстовых файлов

Большинство текстовых процессоров позволяют сохранить данные документов слияния в текстовых файлах без форматирования, которые затем можно использовать для импорта в таблицы Access. Например, в Word 2002 нужно просто открыть документ и сохранить его как текстовый файл, выбрав команду Файл, Сохранить как (File, Save As).

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

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

Кроме того, в текстовых файлах могут использоваться двойные кавычки (") для .выделения текстовых полей. При импорте данных из таких файлов предполагается, что поля, значения которых не выделены кавычками, являются числовыми (в том случае, если они содержат только числа). Далеко не все приложения выделяют текстевые значения при импорте в текстовый файл. Например, Excel при экспорте данных в текстовый файл в формате CSV (Comma Delimited) не заключает текстовые значения в кавычки (рис. 3.24).



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



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

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

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

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

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



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



Присоединение и импорт таблиц 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). Эти диалоговые окна являются модифицированными стандартными окнами открытия документа Microsoft Office.
Замечание

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

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

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



Присоединение и импорт внешних таблиц



Присоединение и импорт внешних таблиц

Прежде чем перейти к вопросам, связанным с импортом и присоединением таблиц, нужно понять разницу между этими возможностями 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.



Создание спецификаций импорта


Создание спецификаций импорта

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

Чтобы создать спецификацию импорта, нажмите кнопку Дополнительно (Advanced) в диалоговом окне Мастера импорта (такая кнопка появляется на каждом шаге). В появившемся диалоговом окне <имя файла> — спецификация импорта (<имя файла> Import Specification) можно изменить имена и типы полей, а также другие параметры импортируемых данных. Окно спецификации импорта для файлов с разделителями изображено на рис. 3.22, а для файлов с полями фиксированной ширины — на рис. 3.23. В табл. 3.5 приведены все параметры импорта, которые можно указать в спецификации. После того как создание спецификации импорта завершено, нажмите кнопку Сохранить как (Save As). В появившемся диалоговом окне Сохранение спецификации импорта/экспорта (Save Import/Export Specification) укажите имя спецификации и нажмите кнопку ОК.

Для того чтобы воспользоваться сохраненной спецификацией при очередном импорте данных, после запуска Мастера импорта текстовых файлов нажмите кнопку Дополнительно (Advanced), а затем в диалоговом окне Спецификация импорта (Import Specification) нажмите кнопку Спецификация (Specs), выделите нужную спецификацию и нажмите кнопку ОК.



Создание таблицы путем импорта из текстового файла



Создание таблицы путем импорта из текстового файла

Процесс импорта данных, хранящихся в текстовом файле, выполняется с помощью Мастера импорта текстов.

Откройте базу данных, в которую нужно импортировать данные из текстового файла. Активизируйте окно базы данных, щелкнув по его заголовку левой кнопкой мыши.
Выберите команду Файл, Внешние данные, Импорт (File, Get External Data, Import). Появится диалоговое окно Импорт (Import).
В раскрывающемся списке Тип файла (Files of Type) диалогового окна Импорт выделите элемент Текстовые файлы (*.txt; *.csv; *.tab; *asc) (Text Files). Откройте папку, содержащую текстовый файл, который нужно импортировать, и выделите его. Нажмите кнопку Импорт (Import). Появится первое диалоговое окно Мастера импорта текстов (рис. 3.16).
В этом окне вы должны выбрать один из двух основных форматов текстовых файлов. Если в текстовом файле для определения конца поля используется разделительный символ, выберите переключатель с разделителями (Delimited). Если же текстовый файл содержит записи с полями фиксированной ширины, выберите переключатель фиксированная ширина полей (Fixed Width). В нижней части диалогового окна Мастера импорта текстов выводится образец данных из файла, позволяющий визуально определить формат импортируемых данных. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу Мастера импорта текстов. Если на первом шаге мастера был выбран переключатель с разделителями, появится диалоговое окно, изображенное на рис. 3.17. Если же был выбран переключатель фиксированная ширина нолей, то на втором шаге мастера появится диалоговое окно, изображенное на рис. 3.18.


Файлы баз данных различных версий



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

Типы файлов


Расширения


Описание


dBASE 5

dbf

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

dBASE III

dbf



dBASE IV

dbf



Microsoft Excel

xls

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

Exchange

-

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

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

html; htm

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

Lotus 1-2-3/DOS

wj*

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

Lotus 1-2-3

wk*



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

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

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



Типы файлов, экспортируемых из Access



Таблица 3.2. Типы файлов, экспортируемых из Access 2002

Типы файлов


Расширения


Описание


dBASE 5

dbf

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

dBASE III

dbf



dBASE IV

dbf



Microsoft Excel 3

xls

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

Microsoft Excel 4

xls



Microsoft Excel 5-7

xls



Microsoft Excel 97-

xls



2002





Документы HTML

html; htm

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

(HTML Documents)





Lotus 1 -2-3 WJ2

wj2

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

Lotus 1 -2-3 WK1

wk1



Lotus 1 -2-3 WK3

wk3



Paradox 3

db

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

Paradox 4

db



Paradox 5

db



Paradox 7-8

db



Text Files

txt; csv; tab;

Текстовые файлы различных кодовых страниц

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

asc

(Windows-1 281, ASCII и др.)

Microsoft Active

asp

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

Server Pages





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



Соответствие типов данных некоторых СУБД



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

dBASE III/IV

Paradox 3.0, 4.0, 5.0

Access

Character

Alphanumeric

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

Numeric, Float

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)

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

Замечание

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

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

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



Форматы текстовых файлов, поддерживаемые Access



Таблица 3.4. Форматы текстовых файлов, поддерживаемые Access 2002

Формат


Описание


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

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

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


Параметры импорта, определяемые в спецификации



Таблица 3.5. Параметры импорта, определяемые в спецификации

Параметр

Описание

Формат файла

(File Format)

Позволяет указать тип импортируемого текстового файла: с разделителями полей или с полями фиксированной ширины. В зависимости от выбранного формата файла изменяется набор параметров спецификации импорта

Разделитель полей

(File Delimiter)

Этот раскрывающийся список используется для определения символа разделителя полей импортируемого файла. Для файлов с фиксированной шириной полей этот параметр не указывается

Ограничитель текста (Text Qualifier)

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

Язык (Language)

Кодировка (Code Page)

Эти параметры используются для выбора кодировки (ASCII или ANSI) импортируемого текстового файла

Формат даты (Data Order)

Если в импортируемом файле для дат используется формат, отличный от европейского ДМГ (например, американский МДГ), то выберите соответствующий формат представления дат в раскрывающемся списке

Разделители даты

(Data Delimiter)

Разделители времени (Time Delimiter)

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

Параметр

Описание

Год из четырех знаков (Four Digit Years)

Этот флажок позволяет указать, что в текстовом файле для года используется четыре знака (например, 23.03.1999)

Дополнять даты нулями (Leading Zeros in dates) Установите этот флажок, если в текстовом файле в датах используются ведущие нули (например, 04.01 .96)
Разделитель целой и дробной части чисел

(Decimal Simbol)

Введите символ, используемый в импортируемом файле в качестве разделителя целой и дробной части (десятичной точки)
Описание полей

(Field Information)

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


Выводы В этой главе мы рассмотрели...


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