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


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

  • с полями фиксированной ширины — строки состоят из полей фиксированной ширины, пустые позиции при этом заполняются пробелами;
  • с полями переменной ширины — со специальными символами — разделителями полей.

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

Формат

Описание

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

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

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

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

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

Access 2010 позволяет использовать пробел в качестве символа разделителя полей, однако использование такого разделителя очень неудобно для файлов, содержащих текстовые данные (в которые также может входить пробел)

 

 

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

  1. Откройте базу данных, в которую нужно импортировать данные из текстового файла. Активизируйте окно базы данных, щелкнув по его заголовку левой кнопкой мыши.
  2. Выберите команду Файл, Внешние данные, Импорт (File, Get External Data, Import). Появится диалоговое окно Импорт (Import).
  3. В раскрывающемся списке Тип файла (Files of Type) диалогового окна Импорт выделите элемент Текстовые файлы (*.txt; *.csv; *.tab; *asc) (Text Files). Откройте папку, содержащую текстовый файл, который нужно импортировать, и выделите его. Нажмите кнопку Импорт (Import). Появится первое диалоговое окно Мастера импорта текстов.
  4. В этом окне вы должны выбрать один из двух основных форматов текстовых файлов. Если в текстовом файле для определения конца поля используется разделительный символ, выберите переключатель с разделителями (Delimited). Если же текстовый файл содержит записи с полями фиксированной ширины, выберите переключатель фиксированная ширина полей (Fixed Width). В нижней части диалогового окна Мастера импорта текстов выводится образец данных из файла, позволяющий визуально определить формат импортируемых данных. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу Мастера импорта текстов. Если на первом шаге мастера был выбран переключатель с разделителями, появится диалоговое окно, изображенное на. Если же был выбран переключатель фиксированная ширина нолей, то на втором шаге мастера появится диалоговое окно, изображенное на.
  1. Если файл содержит разделители полей, то укажите символ разделителя на втором шаге Мастера импорта текстов. Если в импортируемом файле текстовые значения ограничены символом, отличным от двойных кавычек, то укажите ограничитель текстовых значений, выделив его в раскрывающемся списке Ограничитель текста (Text Qualifier). Если в первой строке импортируемого файла содержатся заголовки полей, установите флажок Первая строка содержит имена полей (First Row Contains Field Names). В нижней части окна вы будете видеть образец, по которому можно определить правильность сделанного вами выбора. Нажмите кнопку Далее (Next), чтобы перейти к следующему шагу Мастера импорта текстов (шаг 7).
  2. При импорте текстовых файлов с фиксированной шириной полей Мастер им-поота текстов попытается автоматически разделить поля. Просмотрев образец данных, можно указать дополнительное место разделения полей (черную стрелку), а также переместить или удалить существующий разделитель. После установки ширины всех полей нажмите кнопку Далее (Next) для перехода к следующему шагу мастера импорта.
  1. Чтобы создать новую таблицу и поместить в нее данные из текстового файла, выберите переключатель в новой таблице (In a New Table). Чтобы добавить импортируемые данные к существующей таблице, выберите переключатель в существующей таблице (In an Existing Table) и имя таблицы из раскрывающегося списка. Нажмите кнопку Далее, чтобы перейти к следующему шагу Мастера импорта текстов. Если был выбран переключатель в существующей таблице, то перейдите к шагу 10.

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

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

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