Импортировать таблицу excel в таблицу access

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

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

В двух статьях, в которых описывается использование Access или Excel для управления данными, а также 10 основных причин использования Access с Excel, рассматривается, какая программа лучше всего подходит для конкретной задачи и как использовать Excel и Access вместе для создания практического решения.

При перемещении данных Excel в Access необходимо выполнить три основных шага.

Три основных шага

Шаг 1. Импорт данных из Excel в Access

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

Очистка данных перед импортом

Прежде чем импортировать данные в Access, Excel рекомендуется:

  • Преобразуйте ячейки, содержащие не атомарные данные (то есть несколько значений в одной ячейке), в несколько столбцов. Например, ячейку в столбце Skills, содержащую несколько значений навыка, таких как «программирование C#», «Программирование VBA» и «Веб-дизайн», следует разделить на отдельные столбцы, каждый из которых содержит только одно значение навыка.

  • Используйте команду TRIM, чтобы удалить начальные, конечные и несколько внедренных пробелов.

  • Удаление непечатаемых символов.

  • Поиск и исправление ошибок орфографии и пунктуации.

  • Удалите повторяющиеся строки или повторяющиеся поля.

  • Убедитесь, что столбцы данных не содержат смешанные форматы, особенно числа, отформатированные как текст или даты, отформатированные как числа.

Дополнительные сведения см. в следующих разделах Excel справки:

  • Первые 10 способов очистки данных

  • Фильтр уникальных значений или удаление повторяющихся значений

  • Преобразование чисел из текстового формата в числовой

  • Преобразование дат из текстового формата в формат даты

Примечание: Если ваши потребности в очистке данных сложны или у вас нет времени или ресурсов для автоматизации процесса самостоятельно, вы можете использовать стороннего поставщика. Для получения дополнительных сведений найдите «программное обеспечение очистки данных» или «качество данных» в предпочитаемой поисковой системы в веб-браузере.

Выбор оптимального типа данных при импорте

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

Excel числовом формате

Тип данных Access

Комментарии

Рекомендации

Текст

Text, Memo

Тип данных Access Text хранит буквенно-цифровые данные до 255 символов. Тип данных Access Memo хранит буквенно-цифровые данные до 65 535 символов.

Выберите memo , чтобы избежать усечения данных.

Number, Percentage, Fraction, Scientific

Числовой

Access имеет один тип данных Number, который зависит от свойства Размера поля (byte, Integer, Long Integer, Single, Double, Decimal).

Чтобы избежать ошибок преобразования данных, выберите значение Double.

Дата

Дата

Access и Excel используют один и тот же серийный номер даты для хранения дат. В Access диапазон дат больше: от -657 434 (1 января 100 г. до 2958 465 (31 декабря 9999 г.).

Так как Access не распознает систему дат 1904 (используется в Excel для Macintosh), необходимо преобразовать даты в Excel access, чтобы избежать путаницы.

Дополнительные сведения см. в статье «Изменение системы даты, формата или двузначной интерпретации года» и «Импорт или ссылка на данные в Excel книге».

Выберите дату.

Время

Системное время

Доступ и Excel хранения значений времени с использованием одного типа данных.

Выберите время, которое обычно используется по умолчанию.

Валюта, бухгалтерия

Денежный

В Access тип данных «Валюта» хранит данные в виде 8-байтовых чисел с точностью до четырех десятичных знаков и используется для хранения финансовых данных и предотвращения округления значений.

Выберите валюту, которая обычно используется по умолчанию.

логический

Логический

Access использует -1 для всех значений «Да» и 0 для всех значений «Нет», тогда как Excel использует 1 для всех значений TRUE и 0 для всех значений FALSE.

Нажмите кнопку «Да/Нет«, которая автоматически преобразует базовые значения.

Гиперссылка

Гиперссылка

Гиперссылка в Excel Access содержит URL-адрес или веб-адрес, на который можно щелкнуть и следовать.

Выберите гиперссылку. В противном случае Access может использовать текстовый тип данных по умолчанию.

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

Дополнительные сведения см. в разделе справки Access по импорту или ссылке на данные в Excel книге.

Автоматическое добавление данных простым способом

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

Лучшим решением является использование Access, где можно легко импортировать и добавлять данные в одну таблицу с помощью мастера импорта электронных таблиц. Кроме того, можно добавить большой объем данных в одну таблицу. Вы можете сохранить операции импорта, добавить их как запланированные задачи Microsoft Outlook и даже использовать макросы для автоматизации процесса.

Шаг 2. Нормализация данных с помощью мастера анализатора таблиц

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

Мастер анализа таблиц

1. Перетащите выбранные столбцы в новую таблицу и автоматически создайте связи

2. Используйте команды кнопок, чтобы переименовать таблицу, добавить первичный ключ, сделать существующий столбец первичным ключом и отменить последнее действие.

Этот мастер можно использовать для выполнения следующих действий:

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

  • Добавьте первичный ключ в существующее поле, содержащее уникальные значения, или создайте новое поле идентификатора, использующее тип данных «Счетчик».

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

  • Найдите в новых таблицах избыточные или дублирующиеся данные (например, один и тот же клиент с двумя разными номерами телефонов) и обновите их по своему усмотрению.

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

Дополнительные сведения см. в статье «Нормализация данных с помощью анализатора таблиц».

Шаг 3. Подключение доступ к данным из Excel

После нормализации данных в Access и создания запроса или таблицы, которые восстанавливают исходные данные, достаточно просто подключиться к данным Access из Excel. Теперь ваши данные доступны в Access как внешний источник данных, поэтому их можно подключить к книге через подключение к данным, которое представляет собой контейнер сведений, используемый для поиска, входа во внешний источник данных и доступа к нему. Сведения о подключении хранятся в книге и также могут храниться в файле подключения, например в ODC-файле Office (расширение ODC-имени файла) или файле имени источника данных (расширение DSN). После подключения к внешним данным вы также можете автоматически обновлять (или обновлять) свою Excel из Access при каждом обновлении данных в Access.

Дополнительные сведения см. в статье «Импорт данных из внешних источников данных (Power Query)».

Получение данных в Access

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

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

На следующем листе содержатся неавтеризованные значения в столбцах Salesperson и Address. Оба столбца должны быть разделены на два или более отдельных столбцов. Этот лист также содержит сведения о продавцах, продуктах, клиентах и заказах. Эти сведения также следует разделить по темам на отдельные таблицы.

Продавец

Идентификатор заказа

Дата заказа

Код товара

Количество

продажи

Имя клиента

Адрес

Телефон

Li, Yale

2349

3/4/09

C-789

3

7,00 долл. США

Кофейная фабрика

7007 Корнель-Редмонд, WA 98199

425-555-0201

Li, Yale

2349

3/4/09

C-795

6

9,75 долл. США

Кофейная фабрика

7007 Корнель-Редмонд, WA 98199

425-555-0201

Адамс, Эллен

2350

3/4/09

A-2275

2

16,75 долл. США

Adventure Works

1025 Circle Circle, WA 98234

425-555-0185

Адамс, Эллен

2350

3/4/09

F-198

6

5,25 долл. США

Adventure Works

1025 Circle Circle, WA 98234

425-555-0185

Адамс, Эллен

2350

3/4/09

B-205

1

4,50 долл. США

Adventure Works

1025 Circle Circle, WA 98234

425-555-0185

Хэнс, Хим

2351

3/4/09

C-795

6

9,75 долл. США

Contoso, Ltd.

2302 Суа Бельвью ,Wa 98227

425-555-0222

Хэнс, Хим

2352

3/5/09

A-2275

2

16,75 долл. США

Adventure Works

1025 Circle Circle, WA 98234

425-555-0185

Хэнс, Хим

2352

3/5/09

D-4420

3

7,25 долл. США

Adventure Works

1025 Circle Circle, WA 98234

425-555-0185

Koch, Reed

2353

3/7/09

A-2275

6

16,75 долл. США

Кофейная фабрика

7007 Корнель-Редмонд, WA 98199

425-555-0201

Koch, Reed

2353

3/7/09

C-789

5

7,00 долл. США

Кофейная фабрика

7007 Корнель-Редмонд, WA 98199

425-555-0201

Сведения в его наименьших частях: атомарные данные

Работая с данными в этом примере, можно использовать команду «Текст в столбец» в Excel, чтобы разделить «атомарные» части ячейки (например, адрес улицы, город, штат и почтовый индекс) на дискретные столбцы.

В следующей таблице показаны новые столбцы на том же листе после их разделения, чтобы сделать все значения атомарными. Обратите внимание, что данные в столбце Salesperson разделены на столбцы «Фамилия» и «Имя», а сведения в столбце «Адрес» разделены на столбцы «Адрес», «Город», «Штат» и «Почтовый индекс». Эти данные в первой обычной форме.

Фамилия

Имя

адрес;

Город

Субъект

Почтовый индекс

Литий

Йель

2302( 2302, 2302, 2302— 2

Омск

Красноярский край

98227

Адамс

Эллен

Круг 1025

Сочи

Красноярский край

98234

Hance

Алексей

2302( 2302, 2302, 2302— 2

Омск

Красноярский край

98227

Кох

Рид

7007 Корнель-Редмонд

Редмонд

Красноярский край

98199

Разделение данных на упорядоченные субъекты в Excel

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

Таблица Salespersons содержит только сведения о персонале отдела продаж. Обратите внимание, что каждая запись имеет уникальный идентификатор (идентификатор SalesPerson). Значение идентификатора SalesPerson будет использоваться в таблице Orders для подключения заказов к продавцам.

Продавцов

Идентификатор продавца

Фамилия

Имя

101

Литий

Йель

103

Адамс

Эллен

105

Hance

Алексей

107

Кох

Рид

Таблица Products содержит только сведения о продуктах. Обратите внимание, что каждая запись имеет уникальный идентификатор (идентификатор продукта). Значение идентификатора продукта будет использоваться для подключения сведений о продукте к таблице «Сведения о заказе».

Продукты

Код товара

продажи

A-2275

16.75

B-205

4.50

C-789

7.00

C-795

9.75

D-4420

7.25

F-198

5,25

Таблица Customers содержит только сведения о клиентах. Обратите внимание, что каждая запись имеет уникальный идентификатор (идентификатор клиента). Значение идентификатора клиента будет использоваться для подключения сведений о клиентах к таблице «Заказы».

Customers

Код клиента

Имя

адрес;

Город

Субъект

Почтовый индекс

Телефон

1001

Contoso, Ltd.

2302( 2302, 2302, 2302— 2

Омск

Красноярский край

98227

425-555-0222

1003

Adventure Works

Круг 1025

Сочи

Красноярский край

98234

425-555-0185

1005

Кофейная фабрика

7007 Корелл-ст

Редмонд

Красноярский край

98199

425-555-0201

Таблица «Заказы» содержит сведения о заказах, продавцах, клиентах и продуктах. Обратите внимание, что каждая запись имеет уникальный идентификатор (идентификатор заказа). Некоторые сведения в этой таблице необходимо разделить на дополнительную таблицу, содержащую сведения о заказе, чтобы таблица «Заказы» содержала только четыре столбца: уникальный идентификатор заказа, дата заказа, идентификатор продавца и идентификатор клиента. Показанная здесь таблица еще не разделена на таблицу «Сведения о заказе».

Заказы

Идентификатор заказа

Дата заказа

Идентификатор SalesPerson

Код клиента

Код товара

Количество

2349

3/4/09

101

1005

C-789

3

2349

3/4/09

101

1005

C-795

6

2350

3/4/09

103

1003

A-2275

2

2350

3/4/09

103

1003

F-198

6

2350

3/4/09

103

1003

B-205

1

2351

3/4/09

105

1001

C-795

6

2352

3/5/09

105

1003

A-2275

2

2352

3/5/09

105

1003

D-4420

3

2353

3/7/09

107

1005

A-2275

6

2353

3/7/09

107

1005

C-789

5

Сведения о заказе, такие как идентификатор продукта и количество, перемещаются из таблицы «Заказы» и сохраняются в таблице с именем «Сведения о заказе». Имейте в виду, что существует 9 заказов, поэтому имеет смысл, что в этой таблице 9 записей. Обратите внимание, что таблица «Заказы» имеет уникальный идентификатор (идентификатор заказа), на который будет ссылаться таблица «Сведения о заказе».

Окончательная структура таблицы «Заказы» должна выглядеть следующим образом:

Заказы

Идентификатор заказа

Дата заказа

Идентификатор SalesPerson

Код клиента

2349

3/4/09

101

1005

2350

3/4/09

103

1003

2351

3/4/09

105

1001

2352

3/5/09

105

1003

2353

3/7/09

107

1005

Таблица «Сведения о заказе» не содержит столбцов, которые требуют уникальных значений (т. е. нет первичного ключа), поэтому все столбцы могут содержать «избыточные» данные. Однако две записи в этой таблице не должны быть полностью идентичными (это правило применяется к любой таблице в базе данных). В этой таблице должно быть 17 записей, каждая из которых соответствует продукту в отдельном порядке. Например, в заказе 2349 три продукта C-789 составляют одну из двух частей всего заказа.

Поэтому таблица «Сведения о заказе» должна выглядеть следующим образом:

Сведения о заказе

Номер заказа

Код продукта

Количество

2349

C-789

3

2349

C-795

6

2350

A-2275

2

2350

F-198

6

2350

B-205

1

2351

C-795

6

2352

A-2275

2

2352

D-4420

3

2353

A-2275

6

2353

C-789

5

Копирование и вставка данных из Excel в Access

Теперь, когда сведения о продавцах, клиентах, продуктах, заказах и заказах разделены на отдельные субъекты в Excel, эти данные можно скопировать непосредственно в Access, где они станут таблицами.

Создание связей между таблицами Access и выполнение запроса

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

Кроме того, можно создавать формы и отчеты, чтобы упростить ввод данных и анализ продаж.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.


Загрузить PDF


Загрузить PDF

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

  1. Изображение с названием Import Excel Into Access Step 1

    1

    На компьютере запустите Excel и Access. Необходимо купить и скачать пакет Microsoft Office, который содержит и Excel,[1]
    и Access. Это можно сделать на официальном сайте компании Microsoft.

    • Установив пакет Microsoft Office, в Windows нажмите «Пуск» – «Все программы».[2]
    • Нажмите «Microsoft Office» и в открывшемся меню выберите «Access» (или «Excel»). Скорее всего, у вас уже есть таблица Excel, которую вы скачали или получили по электронной почте. При помощи программы Excel вы сможете открыть такую таблицу.
  2. Изображение с названием Import Excel Into Access Step 2

    2

    Перед импортом данных в Access обработайте таблицу Excel. Это сильно облегчит задачу по переносу данных из Excel в Access. Суть в том, что в разных таблицах определенные данные должны иметь один формат.[3]

    • Для начала удостоверьтесь, что первая строка каждой импортируемой таблицы содержит названия (заголовки) столбцов – названия должны ясно характеризовать данные, занесенные в столбцы.[4]
      Например, если столбец содержит фамилии людей, назовите его «Фамилии». Давайте точные названия, чтобы облегчить процесс согласования заголовков столбцов в разных таблицах.
    • В Access вы можете согласовать однородные элементы в двух и более таблицах Excel. Например, у вас есть таблица Excel с данными по заработной плате, которая содержит ФИО (фамилия, имя, отчество), адреса и суммы заработной платы. Допустим, вы хотите сопоставить эту таблицу с другой таблицей, включающей данные о пожертвованиях на некий проект (ФИО, адреса и суммы пожертвований). В Access вы можете согласовать заголовки столбцов в разных таблицах. В нашем примере согласуйте названия столбцов с фамилиями, чтобы выяснить, какие люди присутствуют в обеих таблицах.
    • Просмотрите каждую таблицу Excel и убедитесь, что данные внесены в одном формате; в противном случае обработайте таблицу так, чтобы привести данные к одному формату.[5]
      Такой подход к формату данных отражает слово «реляционная» (от relation – зависимость, связь) в описании Access. Например, если в зарплатной таблице в столбце «ФИО» введены фамилии, имена и отчества, а в таблице о пожертвованиях в столбце «ФИО» – только фамилии и имена, то Access не считает данные столбцы однородными (то есть не сможет согласовать их). Поэтому одинаковыми должны быть как названия столбцов, так и формат данных, которые содержатся в этих столбцах.
  3. Изображение с названием Import Excel Into Access Step 3

    3

    Разделите данные в столбцах таблицы Excel. Для того чтобы сделать элементы таблицы Excel однородными (для их импорта в Access), разделите информацию в соответствующих столбцах.[6]

    • Например, вы можете поместить фамилию в один столбец, имя – во второй, а отчество – в третий. Аналогичным образом поступите с соответствующим столбцом во второй таблице. Теперь в Access вы сможете согласовать, например, фамилии из одной таблицы с фамилиями из другой и найти людей, которые присутствуют в обеих таблицах.
    • Для разделения данных в столбце Excel выделите нужный столбец. В панели инструментов нажмите «Данные». Затем нажмите «Текст по столбцам». Рекомендуется выбрать опцию «С разделителями». Затем нажмите «Далее».
  4. Изображение с названием Import Excel Into Access Step 4

    4

    Для разделения данных, расположенных в одном столбце, следуйте подсказкам Мастера текстов. Выполните следующие действия:

    • Выберите символ-разделитель между данными. Помните, что информация, занесенная в ячейку, разделяется каким-то символом. Как правило, таким символом-разделителем является пробел, запятая или точка с запятой. В подавляющем большинстве случаев информация разделяется пробелом. Например, в ячейку занесена следующая информация: Иванов Иван Иванович. Здесь Фамилия отделена от имени пробелом, а имя отделено от отчества также пробелом. В этом случае в окне Мастера текстов выберите опцию «Пробел».
    • Нажмите «Далее». Затем нажмите «Готово». Столбец с ячейкой «Иванов Иван Иванович» разделится на три столбца. Теперь вы можете присвоить имя каждому из трех новых столбцов, то есть назвать их как «Фамилия», «Имя», «Отчество». Перед разделением информации справа от разделяемого столбца вставьте несколько пустых столбцов, чтобы Excel занес в них разделенные данные (а не в уже заполненные столбцы с другими данными).

    Реклама

  1. Изображение с названием Import Excel Into Access Step 5

    1

    Запустите Access. Для этого нажмите «Пуск» – «Microsoft Office» – «Microsoft Access». Для импорта данных из Excel создайте новую базу данных Access.

    • Для создания базы данных в окне программы Access нажмите «Новая база данных».
    • Если хотите, присвойте созданной базе данных имя. Затем нажмите «Создать».
  2. Изображение с названием Import Excel Into Access Step 6

    2

    Импортируйте таблицу Excel в Access. Теперь вы можете импортировать данные из одной или нескольких таблиц Excel в Access.

    • На панели инструментов (в окне программы Access) нажмите «Внешние данные».[7]
      В некоторых версиях Access на панели инструментов нажмите «Файл» – «Внешние данные».[8]
    • В разделе «Имя файла» нажмите «Обзор», чтобы найти нужную таблицу Excel.
    • Поставьте флажок у опции «Импортировать исходные данные в новую таблицу в текущей базе данных» (эта опция активирована по умолчанию).
    • Найдя нужную таблицу, щелкните по ней. Затем нажмите «OK». Откроется мастер импорта данных из Excel в Access.

    Реклама

  1. Изображение с названием Import Excel Into Access Step 7

    1

    Выполните указания мастера импорта данных. Это необходимо сделать для завершения процесса импорта таблицы Excel в Access.

    • Выберите лист в таблице Excel, данные которого вы хотите импортировать в Access. Порой это очень легко, потому что таблица содержит всего один лист. Но иногда одна таблица Excel включает множество листов, вкладки которых отображаются в нижней части окна программы Excel; в этом случае нужно указать определенный лист. Затем нажмите «Далее».
    • Отобразится окно с вопросом, содержит ли первая строка таблицы заголовки столбцов. Здесь имеются в виду названия, характеризующие данные в каждом столбце (например, фамилия, адрес, сумма заработной платы и так далее). Прекрасно, если до этого вы обработали таблицу Excel так, что первая строка содержит строго определенные названия столбцов; в этом случае отметьте опцию, что первая строка содержит заголовки столбцов. Затем нажмите «Далее».
    • Если в первой строке заголовков столбцов нет, в открывшемся окне отобразится вопрос о том, хотите ли вы присвоить имена «полям» (в Access под «полями» понимаются заголовки столбцов). Если до этого вы не вводили названия столбцов, сделайте это сейчас.
  2. Изображение с названием Import Excel Into Access Step 8

    2

    Завершите импорт данных. Вам осталось выполнить всего несколько действий. В открывшемся окне определите первичный ключ (если хотите).

    • Вы можете, но не обязаны, делать это. Первичный ключ – это уникальный номер, присваиваемый каждой строке с данными; это может пригодиться при сортировке данных. Затем нажмите «Далее».[9]
    • В последнем окне отобразится имя по умолчанию. Вы можете переименовать таблицу Excel (по завершении импорта она отобразится в виде таблицы Access на левой стороне экрана).
    • Нажмите «Импорт», а затем нажмите «Закрыть». Таблица отобразится на левой стороне экрана; это значит, что она полностью импортирована в Access.
    • Если вы хотите согласовать несколько баз данных, проделайте вышеописанные действия для импорта одной или нескольких дополнительных таблиц Excel. Теперь вы можете приступить к согласованию данных в Access.

    Реклама

Предупреждения

  • Имейте в виду, что если версия Excel, в которой была создана таблица, отличается от версии Access, вы можете столкнуться с проблемами при импорте данных.
  • Повторим еще раз: перед импортом данных обработайте таблицу Excel. То есть обратите внимание на формат данных, с которыми вы собираетесь работать.
  • Сделайте копию исходной таблицы, чтобы в крайнем случае вы смогли импортировать данные еще раз.
  • В Access можно импортировать не более 255 столбцов.[10]

Реклама

Об этой статье

Эту страницу просматривали 45 293 раза.

Была ли эта статья полезной?


Download Article


Download Article

Access is a relational database manager that allows you to import one or multiple Excel databases into its system so you can match common fields between or among them. Because a single Access file can contain multiple Excel spreadsheets, the program is also a great way to aggregate or analyze large amounts of information. First, though, you need to import the Excel spreadsheet into Access. This only requires a few key steps.

Things You Should Know

  • Before you import your spreadsheet into Access, make sure you have clear column headers in the first row so they can easily translate to field names.
  • Scan multi-page workbooks to make sure each type of data is handled the same way across all sheets.
  • The Access import wizard makes it easy to import your data in a way that Access can understand.
  1. Image titled Import Excel Into Access Step 1

    1

    Open both programs on your computer. You will need to purchase and download a Microsoft Office package that includes both Excel[1]
    and Access. You can do this online through the Microsoft site.

    • Once the programs are downloaded, click «Start» in Windows and select «All Programs.»[2]
    • Click on «Microsoft Office,» and then select «Access» (or «Excel») from the drop-down menu. You may already have an Excel spreadsheet created that someone else sent you or that you downloaded from elsewhere. Having Office on your computer allows you to open it.
  2. Image titled Import Excel Into Access Step 2

    2

    Clean up your Excel spreadsheet before importing it into Access. It will make it easier if you do a few simple steps before you import the Excel spreadsheet into Access. The key is that your data must be consistent between imported spreadsheets.[3]

    • It’s a good idea to make sure that the first row in the Excel spreadsheet contains your column headers (or field names), and that these are very clear and easy to understand.[4]
      For example, for a column containing people’s last names, you may want to call the column header/field name «last name.» Be clear and precise because it will make it easier when you try to match column headers in one Excel sheet with another.
    • Access allows you to link common fields between two or among many spreadsheets. Let’s say you have an Excel sheet that contains payroll information. It includes people’s first and last names, addresses, and salaries. Let’s say for the sake of argument that you want to match that sheet within Access to a second Excel sheet that contains information about campaign finance contributions. This second sheet contains people’s names, addresses, and donations. What Access allows you to do is to match different column headers with one another. You could link name headers to see which people of the same name appear in both databases, for example.
    • Scan the Excel sheets to make sure that each type of data is handled the same way, and clean it up before importing it into Access.[5]
      It must be what Access calls «relational.» For example, if the hypothetical spreadsheet for payroll contained first name, last name and middle initial in one column, but the second spreadsheet contained only first name and last name in separate columns, Access will register this as no match. There needs to be matching column headers/fields.

    Advertisement

  3. Image titled Import Excel Into Access Step 3

    3

    Split information within a column in Excel. To take care of this issue, you may want to split information in a column within Excel, so that it doesn’t erroneously register as a «no match» in Access.

    • As an example, you may want to split the first name into its own column, the middle initial into its own column, and the last name into its own column. If it’s already done the same way in the second spreadsheet, when you link, say, last name with last name in Access, it should generate matches when the names are the same.
    • To split a column in Excel, highlight the column that has information you want to split in it. Click on «data»in the toolbar within the Excel program. Click on «text to columns.» Generally, you will choose the option «delimited.» Click next.
  4. Image titled Import Excel Into Access Step 4

    4

    Continue using the wizard to split merged columns. Now you are ready to complete the process of splitting merged information in one column into multiple columns.

    • Choose how the data within the column is «delimited.» This means that each piece of information in the column is separated by something. Most common choices include a space, a comma, or a semi-colon. Often the information is just separated by a space. As in the following example: let’s say the name «John A. Doe» appears in a single column. The first name John is separated from the middle initial A by a space. The last name Doe is separated from the middle initial A by a space. So choose space in the delimited wizard.
    • Click next. Click finish. The program should split John, A., and Doe into three columns. You can then give the new columns new header names to indicate the kind of information housed in them (last name, first name, etc.). It’s a good idea to create several blank columns to the right of the data you’re splitting before you do it because it will push the data into the new blank columns (instead of columns that already contain information).
  5. Advertisement

  1. Image titled Import Excel Into Access Step 5

    1

    Open the Access program on your computer. Go to the start menu, choose Microsoft Office, and click on Microsoft Access. You need to open a new blank Access database to import the Excel sheet into it.

    • Choose «blank desktop database» to create a new database within the Access program.
    • Give it a new name if you want. Click «create.»
  2. Image titled Import Excel Into Access Step 6

    2

    Import an Excel spreadsheet into Access. The next step is to pull the Excel spreadsheet (or more than one) into the Access database.

    • Click on «External Data» in the toolbar once you are within the Access database manager. Choose «Excel.»[6]
      In some versions of Access, you will find this function by clicking on «file» in the toolbar and «Get External Data.»[7]
    • Where it says «file name,» click «browse.» This will allow you to find your Excel sheet on your computer.
    • Leave the box checked that says «import the source data into a new table in the current database.» It will be checked by default.
    • When you find the Excel spreadsheet you want to import on your computer, click on it. Click «OK.» This will take you into the wizard for importing Excel into Access.
  3. Advertisement

  1. Image titled Import Excel Into Access Step 7

    1

    Go through the steps on the wizard that appears within Access. To complete the process of importing your spreadsheet, you need to complete the steps in the wizard.

    • Choose the worksheet within the Excel spreadsheet that you want to import. Sometimes, this is simple because the Excel spreadsheet is just one sheet. However, sometimes people create multiple pages within a single Excel spreadsheet, which you can see by clicking on the tabs at the bottom of the spreadsheet. If this is the case, you need to tell the Access wizard which spreadsheet you are choosing. Click next.
    • The next page has a box asking if the first row in the Excel sheet has column headings. This means the row in a spreadsheet that identifies the data in each column (such as last name, address, salary, etc.). It’s a good idea if you cleaned up your Excel sheet first to make sure that the first row has clearly defined column headings. Then, just check yes that the first row contains column headings. This is the simplest approach. Click next.
    • If your first row does not contain column headings, the next page asks you if you want to rename what are called «fields» in Access (these are column headings). If you did not already name each field something clear and easy to recognize before importing (recommended), then you can do it here.
  2. Image titled Import Excel Into Access Step 8

    2

    Finish the importing process. There are only a few steps left in the importing process. The next page in the wizard will ask if you want to identify a primary key.

    • You don’t have to do this, but you can. A primary key means the computer program will assign each row of information a unique number. This can be helpful later on when sorting the data. Click next.[8]
    • The final screen in the wizard has a space providing a default name. You can change the name of the Excel sheet you are importing (it will become a «table» in Access on the left side of the page when you finish importing it).
    • Click «import.» Click «close.» You will see your table on the left side of the screen. It is now imported within Access.
    • If you want to link more than one data set, repeat this process with another or multiple Excel spreadsheets. Now, you are ready to match the data in the sheets within Access.
  3. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

Thanks for submitting a tip for review!

  • If the Excel file is from a different version of Office than Access, you may have trouble importing files smoothly.

  • It can’t be underscored enough: You need to clean up your Excel spreadsheet before importing it. Partly this means analyzing the data you have for problems.

  • Always keep a copy of your original spreadsheets, so if you mess them up, you can repeat the process.

  • You can not import more than 255 fields into Access.[9]

Advertisement

About This Article

Thanks to all authors for creating a page that has been read 263,983 times.

Is this article up to date?

Вопрос следующий: в Access импортируются таблицы Excel с помощью обычного SELECT’a из листа —

INSERT INTO (Поля Access) SELECT Поля Excel FROM [Excel 12.0 xml;HDR=Yes;IMEX=1;DATABASE=" & currentFilePath & "]

Проблемы возникают, когда в Excel файле попадаются столбцы с нестандартными именами, содержащими в себе, например, точки.
Каким образом можно перед импортом открыть файл, c помощью REPLACE заменить точки на пробелы, и импортировать из уже отредактированного файла, не сохраняя его, чтобы не испортить исходник? Методы типа DoCmd.TransferSpreadsheet и «поячеечного» чтения не подходят, поскольку таблица содержит несколько десятков столбцов и около полумиллиона строк, что делает эти методы не совсем подходящими из-за времени выполнения.

А как после импорта для всех названий полей в таблице символ # по-быстрому на что-то иное заменить?

Например, вот так:

CurrentDb.TableDefs(Table).Fields("Field#").Name=Replace(CurrentDb.TableDefs(Table).Fields("Field#").Name, "#", "")

или вот так:

CurrentDb.TableDefs(Table).Fields(I).Name=Replace(CurrentDb.TableDefs(Table).Fields(I).Name, "#", "")


Спс, отлично сработало.
Для вар-тов кучи полей в исходных эксельках самое то.
Sub ReplaceCharInTableName(strTableName As String)
Dim bytTableFieldCount As Byte, i As Byte
bytTableFieldCount = CurrentDb.TableDefs(strTableName).Fields.Count
For i = o To bytTableFieldCount - 1
    CurrentDb.TableDefs(strTableName).Fields(i).Name = Replace(CurrentDb.TableDefs(strTableName).Fields(i).Name, "#", " ")
Next i
'MsgBox CurrentDb.TableDefs(strTableName).Fields.Count
End Sub

или вот так:
Sub ReplaceCharInTableName(strTableName As String)
Dim i As Byte
For i = 0 To CurrentDb.TableDefs(strTableName).Fields.Count - 1
    CurrentDb.TableDefs(strTableName).Fields(i).Name = Replace(CurrentDb.TableDefs(strTableName).Fields(i).Name, "#", " ")
Next
'MsgBox CurrentDb.TableDefs(strTableName).Fields.Count
End Sub

Sub ReplaceCharInFieldsName(strTableName As String) Dim fld As DAO.Field With CurrentDb With .TableDefs(strTableName) For Each fld In .Fields fld.Name = Replace(fld.Name, "#", vbNullString) Next End With End With End Sub 


Если в цифрах, то:
Табличка (пустая) о 10 текстовых полях (в именах нет решеток)
Тестовая процедура:

Public Sub Test()
    Dim i As Integer, j As Integer
    Dim st As Long
    j = 100
    
    Debug.Print String(10, "-")
    st = apiTimeGetTime
    For i = 1 To j
        ReplaceCharInTableName "tbl1"
    Next i
    Debug.Print "ReplaceCharInTableName", apiTimeGetTime - st
    
    Debug.Print String(10, "-")
    st = apiTimeGetTime
    For i = 1 To j
        ReplaceCharInFieldsName "tbl1"
    Next i
    Debug.Print "ReplaceCharInFieldsName", apiTimeGetTime - st
End Sub

Создайте в Excel
небольшую таблицу, по структуре
напоминающую базу данных и начинающуюся
с ячейки А1. Сохраните ее в виде файла.
Вернитесь в базу данных Access.
Откройте Файл/Внешние данные/Импорт,
выберите тип фалла Microsoft
Excel, укажите имя
файла и следуйте указаниям.

Копирование таблицы из Access в Microsoft Excel

Копирование выполняется
через буфер временного хранения. Выделить
записи в таблице Правка / Выделить все
записи
. Скопируйте выделенный фрагмент
в буфер временного хранения Правка /
Копировать.
Перейдите в Excel
и выполните вставку фрагмента Правка
/ Вставить
.

Самостоятельная работа

Таблица
3.10

Образец таблицы для самостоятельной работы

Код

Артикул

Название

Дата изготовления

Дата поступления

Срок

хранения

1

105

Гель

12.01.07

05.02.08

12

2

106

Лак

10.01.07

13.01.08

6

3

102

Мусс

17.12.07

27.12.08

4

4

103

Лосьон

06.10.07

25.11.08

3

5

104

Крем

12.01.07

30.01.08

12

6

108

Шампунь

04.12.07

23.01.08

18

7

101

Мыло

14.04.07

05.08.07

14

8

66

Дезодорант

08.07.07

22.07.07

10

Создайте новый файл
базы данных, в нём указанную таблицу.
Сформируйте простые запросы, в
которых отобразите:

  • Названия товаров, которые начинаются
    на букву Л;

  • Названия товаров, которые заканчиваются
    на букву н;

  • Названия товаров, срок хранения которых
    более 4 месяцев;

  • Названия товаров и дату их изготовления,
    которые произведены 2007 году;

  • Названия товаров и дату их поступления,
    которые поступили в 2008 году;

  • Определите товары, у которых срок
    годности истек
    на момент поступления
    (в запросе создайте новое вычисляемое
    поле):

Прошло: ([Дата поступления]-[Дата
изготовления])/30

В условие отбора этого поля введите
>[Срок хранения]

На основании этой
таблицы создайте запросы на изменение:

  • Уменьшите срок хранения всем товарам
    на 1 месяц;.

  • Создайте запрос на удаление записей,
    с артикулом, меньше 103;

  • Создайте новую таблицу, содержащую
    поля: Артикул, Название, Срок
    хранения
    . Внесите в таблицу три
    записи. Добавьте эти записи в исходную
    таблицу.

Создайте таблицу
Поставщики, которая будет содержать
поля: Артикул, Поставщик.
Установите связь между исходной таблицей
и таблицей Поставщики. Обновите
артикулы товаров в главной таблице,
убедитесь, что они изменились в подчиненной
таблице.

Создайте форму
карточку товара.

§23. Access. Проектирование многотабличной базой данных Импорт данных, индексация таблиц, маски ввода

Запустите Access:
Пуск / Программы / Microsoft
Access. После этого в
появившемся диалоговом окне необходимо
выбрать создание Новой базы данных и
нажать ОК.
В следующем диалоговом окне следует
указать имя и месторасположения
создаваемого вами файла базы данных и
нажать клавишу Создать.

Для создания базы
данных «Компьютерный магазин» нам
понадобятся 5 таблиц: «Клиенты», «Заказы
клиентов», «Товары на складе», «Персонал»,
«Учет работы персонала». Таблицы
«Клиенты» и «Товары на складе» импортируем
из электронных таблиц.

Для этого в главном
окне базы данных зайдите в меню Файл
/ Внешние данные / Импорт
. В появившемся
диалоговом окне смените тип файла на
Microsoft Excel,
найдите в списке нужный вам («Клиенты
компьютерного магазина») и нажмите
кнопку Импорт.
После этого следует указать, что все
импортируемые данные расположены на
первом листе, и нажать кнопку Далее.
Затем пометьте флажком, что в первой
строке расположены заголовки полей
импортируемой таблицы, нажмите Далее
и укажите, что данные нужно сохранить
в новой таблице.

Рис. 3.13. Импорт
таблицы из Excel в Access

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

Термин индекс
тесно связан с понятием ключ. Под
индексом понимают средство ускорения
операции поиска записей в таблице, а,
следовательно, и других операций,
использующих поиск: извлечение,
модификация, сортировка и т.д. На практике
для создания индекса некоторой таблицы
БД пользователь указывает поле таблицы,
которое требует индексации.

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

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

Индексирование требует
небольшого дополнительного места на
диске и незначительных затрат процессора
на изменение индексов в процессе работы.
После индексирования всех полей таблицы
следует определить ключ (см. рисунок).
Для таблицы «Клиенты» это будет
паспорта.

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

С помощью конструктора
таблиц добавим два новых поля:
типа Счетчик и Фото типа Поле OLE
в структуру таблицы «Товары на складе».
Поле № необходимо сделать ключевым.
Для этого выделите его в режиме
конструктора таблиц и нажмите кнопку
с ключом на панели инструментов «Базы
данных».

Остальные таблицы
будем создавать непосредственно в СУБД
Access. Для этого их структуру необходимо
описать в конструкторе таблиц (см.
рисунок).

При этом обратите
внимание, что сначала описывается
таблица «Персонал», в таблице «Учет
работы»
№ паспорта рабочего делается
средствами мастера подстановки –
специального мастера, позволяющего в
дальнейшем не вписывать данные в таблицу,
а подставлять из созданного списка.

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

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

Рис. 3.14. Структура
таблиц в базе данных

Кроме этого, для поля
«Телефон» в таблице «Персонал»
создадим маску ввода, то есть специальным
образом подготовленную форму ввода.
Для этого в конструкторе выделим поле
«Телефон», а в свойствах поля выберем
маску ввода. Щелкнув мышью по трем точкам
в конце строки получим диалоговое окно
создания маски ввода.

Рис. 3.15. Окно
создания маски ввода

Здесь выберем любую
маску кроме «Пароль» и нажмем кнопку
Далее.
В результате появится окно, позволяющее
изменять маску ввода и создавать новую.
В появившемся окне внесем необходимые
нам изменения.

Внесем запись телефона
с учетом кода города, что позволит
записывать в том числе и номера сотовых
телефонов.

Рис. 3.16. Изменение
маски ввода

Обратите внимание,
что знак «_» в нашем случае предусматривает
ввод какой-то цифры и следовательно
будет знаком заполнителя. После щелчка
по строке «Проба:» у вас автоматически
появится образец маски и имя заменится
на «Определяется пользователем. Теперь
можно нажать кнопку Далее.
Где в появившемся диалоговом окне
указать, что сохранить созданную маску
нужно вместе со знаками, после чего
нажимается кнопка Готово.
Теперь при заполнении таблицы в поле
«Телефон» у вас будет появляться
соответствующая маска и пользователь
не ошибется в каком виде вносить номер
телефона. Самостоятельно создайте маску
ввода для поля «Контактный телефон» в
таблице «Клиенты».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Импортировать данные в список excel
  • Импорт листов excel в один
  • Импортировать xml файл в excel
  • Импорт курсов криптовалют в excel
  • Импортировать html в word