Примечание: 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.
This tutorial will cover the ways to import data from Excel into an Access Table and ways to export Access objects (Queries, Reports, Tables, or Forms) to Excel.
Import Excel File Into Access
To import an Excel file to Access, use the acImport option of DoCmd.TransferSpreadsheet :
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Table1", "C:TempBook1.xlsx", True
Or you can use DoCmd.TransferText to import a CSV file:
DoCmd.TransferText acLinkDelim, , "Table1", "C:TempBook1.xlsx", True
Import Excel to Access Function
This function can be used to import an Excel file or CSV file into an Access Table:
Public Function ImportFile(Filename As String, HasFieldNames As Boolean, TableName As String) As Boolean
' Example usage: call ImportFile ("Select an Excel File", "Excel Files", "*.xlsx", "C:" , True,True, "ExcelImportTest", True, True,false,True)
On Error GoTo err_handler
If (Right(Filename, 3) = "xls") Or ((Right(Filename, 4) = "xlsx")) Then
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, TableName, Filename, blnHasFieldNames
End If
If (Right(Filename, 3) = "csv") Then
DoCmd.TransferText acLinkDelim, , TableName, Filename, True
End If
Exit_Thing:
'Clean up
'Check if our linked in Excel table already exists... and delete it if so
If ObjectExists("Table", TableName) = True Then DropTable (TableName)
Set colWorksheets = Nothing
Exit Function
err_handler:
If (Err.Number = 3086 Or Err.Number = 3274 Or Err.Number = 3073) And errCount < 3 Then
errCount = errCount + 1
ElseIf Err.Number = 3127 Then
MsgBox "The fields in all the tabs are the same. Please make sure that each sheet has the exact column names if you wish to import mulitple", vbCritical, "MultiSheets not identical"
ImportFile = False
GoTo Exit_Thing
Else
MsgBox Err.Number & " - " & Err.Description
ImportFile = False
GoTo Exit_Thing
Resume
End If
End Function
You can call the function like this:
Private Sub ImportFile_Example()
Call VBA_Access_ImportExport.ImportFile("C:TempBook1.xlsx", True, "Imported_Table_1")
End Sub
Access VBA Export to New Excel File
To export an Access object to a new Excel file, use the DoCmd.OutputTo method or the DoCmd.TransferSpreadsheet method:
Export Query to Excel
This line of VBA code will export a Query to Excel using DoCmd.OutputTo:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLSX, "c:tempExportedQuery.xls"
Or you can use the DoCmd.TransferSpreadsheet method instead:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "Query1", "c:tempExportedQuery.xls", True
Note: This code exports to XLSX format. Instead you can update the arguments to export to a CSV or XLS file format instead (ex. acFormatXLSX to acFormatXLS).
Export Report to Excel
This line of code will export a Report to Excel using DoCmd.OutputTo:
DoCmd.OutputTo acOutputReport, "Report1", acFormatXLSX, "c:tempExportedReport.xls"
Or you can use the DoCmd.TransferSpreadsheet method instead:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "Report1", "c:tempExportedReport.xls", True
Export Table to Excel
This line of code will export a Table to Excel using DoCmd.OutputTo:
DoCmd.OutputTo acOutputTable, "Table1", acFormatXLSX, "c:tempExportedTable.xls"
Or you can use the DoCmd.TransferSpreadsheet method instead:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "Table1", "c:tempExportedTable.xls", True
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Learn More
Export Form to Excel
This line of code will export a Form to Excel using DoCmd.OutputTo:
DoCmd.OutputTo acOutputForm, "Form1", acFormatXLSX, "c:tempExportedForm.xls"
Or you can use the DoCmd.TransferSpreadsheet method instead:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "Form1", "c:tempExportedForm.xls", True
Export to Excel Functions
These one line commands work great to export to a new Excel file. However, they will not be able to export into an existing workbook. In the section below we introduce functions that allow you to append your export to an existing Excel file.
Below that, we’ve included some additional functions to export to new Excel files, including error handling and more.
Export to Existing Excel File
The above code examples work great to export Access objects to a new Excel file. However, they will not be able to export into an existing workbook.
To export Access objects to an existing Excel workbook we’ve created the following function:
Public Function AppendToExcel(strObjectType As String, strObjectName As String, strSheetName As String, strFileName As String)
Dim rst As DAO.Recordset
Dim ApXL As Excel.Application
Dim xlWBk As Excel.Workbook
Dim xlWSh As Excel.Worksheet
Dim intCount As Integer
Const xlToRight As Long = -4161
Const xlCenter As Long = -4108
Const xlBottom As Long = -4107
Const xlContinuous As Long = 1
Select Case strObjectType
Case "Table", "Query"
Set rst = CurrentDb.OpenRecordset(strObjectName, dbOpenDynaset, dbSeeChanges)
Case "Form"
Set rst = Forms(strObjectName).RecordsetClone
Case "Report"
Set rst = CurrentDb.OpenRecordset(Reports(strObjectName).RecordSource, dbOpenDynaset, dbSeeChanges)
End Select
If rst.RecordCount = 0 Then
MsgBox "No records to be exported.", vbInformation, GetDBTitle
Else
On Error Resume Next
Set ApXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set ApXL = CreateObject("Excel.Application")
End If
Err.Clear
ApXL.Visible = False
Set xlWBk = ApXL.Workbooks.Open(strFileName)
Set xlWSh = xlWBk.Sheets.Add
xlWSh.Name = Left(strSheetName, 31)
xlWSh.Range("A1").Select
Do Until intCount = rst.fields.Count
ApXL.ActiveCell = rst.fields(intCount).Name
ApXL.ActiveCell.Offset(0, 1).Select
intCount = intCount + 1
Loop
rst.MoveFirst
xlWSh.Range("A2").CopyFromRecordset rst
With ApXL
.Range("A1").Select
.Range(.Selection, .Selection.End(xlToRight)).Select
.Selection.Interior.Pattern = xlSolid
.Selection.Interior.PatternColorIndex = xlAutomatic
.Selection.Interior.TintAndShade = -0.25
.Selection.Interior.PatternTintAndShade = 0
.Selection.Borders.LineStyle = xlNone
.Selection.AutoFilter
.Cells.EntireColumn.AutoFit
.Cells.EntireRow.AutoFit
.Range("B2").Select
.ActiveWindow.FreezePanes = True
.ActiveSheet.Cells.Select
.ActiveSheet.Cells.WrapText = False
.ActiveSheet.Cells.EntireColumn.AutoFit
xlWSh.Range("A1").Select
.Visible = True
End With
'xlWB.Close True
'Set xlWB = Nothing
'ApXL.Quit
'Set ApXL = Nothing
End If
End Function
You can use the function like this:
Private Sub AppendToExcel_Example()
Call VBA_Access_ImportExport.ExportToExcel("Table", "Table1", "VBASheet", "C:TempTest.xlsx")
End Sub
Notice you are asked to define:
- What to Output? Table, Report, Query, or Form
- Object Name
- Output Sheet Name
- Output File Path and Name.
VBA Programming | Code Generator does work for you!
Export SQL Query to Excel
Instead you can export an SQL query to Excel using a similar function:
Public Function AppendToExcelSQLStatemet(strsql As String, strSheetName As String, strFileName As String)
Dim strQueryName As String
Dim ApXL As Excel.Application
Dim xlWBk As Excel.Workbook
Dim xlWSh As Excel.Worksheet
Dim intCount As Integer
Const xlCenter As Long = -4108
Const xlBottom As Long = -4107
Const xlVAlignCenter = -4108
Const xlContinuous As Long = 1
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
strQueryName = "tmpQueryToExportToExcel"
If ObjectExists("Query", strQueryName) Then
CurrentDb.QueryDefs.Delete strQueryName
End If
Set qdf = CurrentDb.CreateQueryDef(strQueryName, strsql)
Set rst = CurrentDb.OpenRecordset(strQueryName, dbOpenDynaset)
If rst.RecordCount = 0 Then
MsgBox "No records to be exported.", vbInformation, GetDBTitle
Else
On Error Resume Next
Set ApXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set ApXL = CreateObject("Excel.Application")
End If
Err.Clear
ApXL.Visible = False
Set xlWBk = ApXL.Workbooks.Open(strFileName)
Set xlWSh = xlWBk.Sheets.Add
xlWSh.Name = Left(strSheetName, 31)
xlWSh.Range("A1").Select
Do Until intCount = rst.fields.Count
ApXL.ActiveCell = rst.fields(intCount).Name
ApXL.ActiveCell.Offset(0, 1).Select
intCount = intCount + 1
Loop
rst.MoveFirst
xlWSh.Range("A2").CopyFromRecordset rst
With ApXL
.Range("A1").Select
.Range(.Selection, .Selection.End(xlToRight)).Select
.Selection.Interior.Pattern = xlSolid
.Selection.Interior.PatternColorIndex = xlAutomatic
.Selection.Interior.TintAndShade = -0.25
.Selection.Interior.PatternTintAndShade = 0
.Selection.Borders.LineStyle = xlNone
.Selection.AutoFilter
.Cells.EntireColumn.AutoFit
.Cells.EntireRow.AutoFit
.Range("B2").Select
.ActiveWindow.FreezePanes = True
.ActiveSheet.Cells.Select
.ActiveSheet.Cells.WrapText = False
.ActiveSheet.Cells.EntireColumn.AutoFit
xlWSh.Range("A1").Select
.Visible = True
End With
'xlWB.Close True
'Set xlWB = Nothing
'ApXL.Quit
'Set ApXL = Nothing
End If
End Function
Called like this:
Private Sub AppendToExcelSQLStatemet_Example()
Call VBA_Access_ImportExport.ExportToExcel("SELECT * FROM Table1", "VBASheet", "C:TempTest.xlsx")
End Sub
Where you are asked to input:
- SQL Query
- Output Sheet Name
- Output File Path and Name.
Function to Export to New Excel File
These functions allow you to export Access objects to a new Excel workbook. You might find them more useful than the simple single lines at the top of the document.
Public Function ExportToExcel(strObjectType As String, strObjectName As String, Optional strSheetName As String, Optional strFileName As String)
Dim rst As DAO.Recordset
Dim ApXL As Object
Dim xlWBk As Object
Dim xlWSh As Object
Dim intCount As Integer
Const xlToRight As Long = -4161
Const xlCenter As Long = -4108
Const xlBottom As Long = -4107
Const xlContinuous As Long = 1
On Error GoTo ExportToExcel_Err
DoCmd.Hourglass True
Select Case strObjectType
Case "Table", "Query"
Set rst = CurrentDb.OpenRecordset(strObjectName, dbOpenDynaset, dbSeeChanges)
Case "Form"
Set rst = Forms(strObjectName).RecordsetClone
Case "Report"
Set rst = CurrentDb.OpenRecordset(Reports(strObjectName).RecordSource, dbOpenDynaset, dbSeeChanges)
End Select
If rst.RecordCount = 0 Then
MsgBox "No records to be exported.", vbInformation, GetDBTitle
DoCmd.Hourglass False
Else
On Error Resume Next
Set ApXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set ApXL = CreateObject("Excel.Application")
End If
Err.Clear
On Error GoTo ExportToExcel_Err
Set xlWBk = ApXL.Workbooks.Add
ApXL.Visible = False
Set xlWSh = xlWBk.Worksheets("Sheet1")
If Len(strSheetName) > 0 Then
xlWSh.Name = Left(strSheetName, 31)
End If
xlWSh.Range("A1").Select
Do Until intCount = rst.fields.Count
ApXL.ActiveCell = rst.fields(intCount).Name
ApXL.ActiveCell.Offset(0, 1).Select
intCount = intCount + 1
Loop
rst.MoveFirst
xlWSh.Range("A2").CopyFromRecordset rst
With ApXL
.Range("A1").Select
.Range(.Selection, .Selection.End(xlToRight)).Select
.Selection.Interior.Pattern = xlSolid
.Selection.Interior.PatternColorIndex = xlAutomatic
.Selection.Interior.TintAndShade = -0.25
.Selection.Interior.PatternTintAndShade = 0
.Selection.Borders.LineStyle = xlNone
.Selection.AutoFilter
.Cells.EntireColumn.AutoFit
.Cells.EntireRow.AutoFit
.Range("B2").Select
.ActiveWindow.FreezePanes = True
.ActiveSheet.Cells.Select
.ActiveSheet.Cells.WrapText = False
.ActiveSheet.Cells.EntireColumn.AutoFit
xlWSh.Range("A1").Select
.Visible = True
End With
retry:
If FileExists(strFileName) Then
Kill strFileName
End If
If strFileName <> "" Then
xlWBk.SaveAs strFileName, FileFormat:=56
End If
rst.Close
Set rst = Nothing
DoCmd.Hourglass False
End If
ExportToExcel_Exit:
DoCmd.Hourglass False
Exit Function
ExportToExcel_Err:
DoCmd.SetWarnings True
MsgBox Err.Description, vbExclamation, Err.Number
DoCmd.Hourglass False
Resume ExportToExcel_Exit
End Function
The function can be called like this:
Private Sub ExportToExcel_Example()
Call VBA_Access_ImportExport.ExportToExcel("Table", "Table1", "VBASheet")
End Sub
Содержание
- Импортировать файл Excel в Access
- Доступ к экспорту VBA в новый файл Excel
- Экспорт в существующий файл Excel
- Функция экспорта в новый файл Excel
В этом руководстве будут рассмотрены способы импорта данных из Excel в таблицу Access и способы экспорта объектов Access (запросов, отчетов, таблиц или форм) в Excel.
Импортировать файл Excel в Access
Чтобы импортировать файл Excel в Access, используйте acImport вариант DoCmd.TransferSpreadsheet :
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, «Table1», «C: Temp Book1.xlsx», True
Или вы можете использовать DoCmd.TransferText чтобы импортировать файл CSV:
DoCmd.TransferText acLinkDelim,, «Таблица1», «C: Temp Book1.xlsx», True
Импортировать Excel в функцию доступа
Эту функцию можно использовать для импорта файла Excel или CSV в таблицу доступа:
Открытая функция ImportFile (имя файла как строка, HasFieldNames как логическое, TableName как строка) как логическое »Пример использования: call ImportFile (« Выбрать файл Excel »,« Файлы Excel »,« * .xlsx »,« C: », True , True, "ExcelImportTest", True, True, false, True) При ошибке Перейти к err_handler If (Right (Filename, 3) = "xls") или ((Right (Filename, 4) = "xlsx")) Then DoCmd. TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, TableName, Filename, blnHasFieldNames End If If (Right (Filename, 3) = "csv") Then DoCmd.TransferText acLinkDelim`` TableName, Filename, True End If Exit_Thing if: 'Очистить связанный в' Таблица Excel уже существует … и удалите ее, если это так. Если ObjectExists ("Table", TableName) = True Then DropTable (TableName) Установить colWorksheets = Nothing Функция выхода err_handler: If (Err.Number = 3086 или Err.Number = 3274 или Err. Number = 3073) And errCount <3 Then errCount = errCount + 1 ElseIf Err.Number = 3127 Then MsgBox "Поля на всех вкладках одинаковы. Убедитесь, что каждый лист имеет точные имена столбцов, если вы хотите импортировать несколько ", vbCritical," MultiSheets не идентичны "ImportFile = False GoTo Exit_Thing Else MsgBox Err.Number &" - "& Err.Description ImportFile = False GoTo Exit_Thing Resume End If End Function
Вы можете вызвать функцию так:
Private Sub ImportFile_Example () Вызов VBA_Access_ImportExport.ImportFile ("C: Temp Book1.xlsx", True, "Imported_Table_1") End Sub
Чтобы экспортировать объект Access в новый файл Excel, используйте DoCmd.OutputTo метод или DoCmd.TransferSpreadsheet метод:
Экспорт запроса в Excel
Эта строка кода VBA экспортирует запрос в Excel с помощью DoCmd.OutputTo:
DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLSX, "c: temp ExportedQuery.xls"
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, «Query1», «c: temp ExportedQuery.xls», True
Примечание: Этот код экспортирует в формат XLSX. Вместо этого вы можете обновить аргументы для экспорта в формат файла CSV или XLS (например, acFormatXLSX к acFormatXLS).
Экспорт отчета в Excel
Эта строка кода экспортирует отчет в Excel с помощью DoCmd.OutputTo:
DoCmd.OutputTo acOutputReport, «Report1», acFormatXLSX, «c: temp ExportedReport.xls»
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, «Report1», «c: temp ExportedReport.xls», True
Экспорт таблицы в Excel
Эта строка кода экспортирует таблицу в Excel с помощью DoCmd.OutputTo:
DoCmd.OutputTo acOutputTable, «Table1», acFormatXLSX, «c: temp ExportedTable.xls»
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, «Table1», «c: temp ExportedTable.xls», True
Экспорт формы в Excel
Эта строка кода экспортирует форму в Excel с помощью DoCmd.OutputTo:
DoCmd.OutputTo acOutputForm, «Form1», acFormatXLSX, «c: temp ExportedForm.xls»
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, «Form1», «c: temp ExportedForm.xls», True
Экспорт в функции Excel
Эти однострочные команды отлично подходят для экспорта в новый файл Excel. Однако их нельзя будет экспортировать в существующую книгу. В следующем разделе мы представляем функции, которые позволяют вам добавить экспорт в существующий файл Excel.
Ниже мы включили некоторые дополнительные функции для экспорта в новые файлы Excel, включая обработку ошибок и многое другое.
Экспорт в существующий файл Excel
Приведенные выше примеры кода отлично подходят для экспорта объектов Access в новый файл Excel. Однако их нельзя будет экспортировать в существующую книгу.
Чтобы экспортировать объекты Access в существующую книгу Excel, мы создали следующую функцию:
Общедоступная функция AppendToExcel (strObjectType как строка, strObjectName как строка, strSheetName как строка, strFileName как строка) Dim rst as DAO.Recordset Dim ApXL As Excel.Application Dim xlWBk As Excel.Workbook Dim xlWSh Asim Integer. As Long = -4161 Const xlCenter As Long = -4108 Const xlBottom As Long = -4107 Const xlContinuous As Long = 1 Выберите регистр strObjectType Case "Таблица", "Запрос" Установить rst = CurrentDb.OpenRecordset (strObjectName, dbOpenDynaset, dbOpenDynaset, dbOpenDynaset, dbeeSee "Form" Set rst = Forms (strObjectName) .RecordsetClone Case "Report" Set rst = CurrentDb.OpenRecordset (Reports (strObjectName) .RecordSource, dbOpenDynaset, dbSeeChanges) End Select If rst.RecordCount = 0 Then No records to be exported = 0 Then No records to be exported . ", vbInformation, GetDBTitle Остальное при ошибке Возобновить Далее Установить ApXL = GetObject (," Excel.Application ") Если Err.Number 0 Затем Установить ApXL = CreateObject (" Excel.Application ") Конец, если Err.Clear ApXL.Visible = False Установите xlWBk = ApXL.Workbooks.Open (strFil eName) Задайте xlWSh = xlWBk.Sheets.Add xlWSh.Name = Left (strSheetName, 31) xlWSh.Range ("A1"). Выберите "Выполнить до тех пор, пока intCount = rst.fields.Count ApXL.ActiveCell = rst.fields (intCount)". Назовите ApXL.ActiveCell.Offset (0, 1) .Select intCount = intCount + 1 Loop rst.MoveFirst xlWSh.Range ("A2"). CopyFromRecordset rst With ApXL .Range ("A1"). Select .Range (.Selection, .Selection.End (xlToRight)). Выберите .Selection.Interior.Pattern = xlSolid .Selection.Interior.PatternColorIndex = xlAutomatic .Selection.Interior.TintAndShade = -0.25 .Selection.Interior.PatternTintAndShade = 0. xlNone .Selection.AutoFilter .Cells.EntireColumn.AutoFit .Cells.EntireRow.AutoFit .Range ("B2"). Выберите .ActiveWindow.FreezePanes = True .ActiveSheet.Cells.Select .ActiveSheet.Cells.WrapText.Cells. .EntireColumn.AutoFit xlWSh.Range ("A1"). Выберите .Visible = True End With 'xlWB.Close True' Set xlWB = Nothing 'ApXL.Quit' Set ApXL = Nothing End If End Function
Вы можете использовать эту функцию так:
Private Sub AppendToExcel_Example () Вызов VBA_Access_ImportExport.ExportToExcel («Таблица», «Таблица1», «VBASheet», «C: Temp Test.xlsx») End Sub
Обратите внимание, что вас просят определить:
- Что выводить? Таблица, отчет, запрос или форма
- Имя объекта
- Имя выходного листа
- Путь и имя выходного файла.
Экспорт SQL-запроса в Excel
Вместо этого вы можете экспортировать SQL-запрос в Excel, используя аналогичную функцию:
Открытая функция AppendToExcelSQLStatemet (strsql As String, strSheetName As String, strFileName As String) Dim strQueryName As String Dim ApXL As Excel.Application Dim xlWBk As Excel.Workbook Dim xlWSh As Excel.Worksheet Dim intCount10 As Integer Const x xlBottom As Long = -4107 Const xlVAlignCenter = -4108 Const xlContinuous As Long = 1 Dim qdf As DAO.QueryDef Dim rst As DAO.Recordset strQueryName = "tmpQueryToExportToExcel" IfldueryName.StrleteQeueryDueryName, strleteQext Конец Если Установить qdf = CurrentDb.CreateQueryDef (strQueryName, strsql) Установить rst = CurrentDb.OpenRecordset (strQueryName, dbOpenDynaset) Если rst.RecordCount = 0 Тогда MsgBox «Нет записей для экспорта. ApXL = GetObject (, "Excel.Application") Если Err.Number 0, тогда установите ApXL = CreateObject ("Excel.Application") End If Err.Clear ApXL.Visible = False Set xlWBk = ApXL.Workbooks.Open (strFileName) Set xlWSh = xlWBk.Sheet s.Add xlWSh.Name = Left (strSheetName, 31) xlWSh.Range ("A1"). Выберите "Do until intCount = rst.fields.Count ApXL.ActiveCell = rst.fields (intCount) .Name ApXL.ActiveCell.Offset ( 0, 1) .Select intCount = intCount + 1 Loop rst.MoveFirst xlWSh.Range ("A2"). CopyFromRecordset rst With ApXL .Range ("A1"). Select .Range (.Selection, .Selection.End (xlToRight) ) .Select .Selection.Interior.Pattern = xlSolid .Selection.Interior.PatternColorIndex = xlAutomatic .Selection.Interior.TintAndShade = -0.25 .Selection.Interior.PatternTintAndShade = 0 .Selection.Borders.LineStyle. … ("A1"). Выберите .Visible = True End With 'xlWB.Close True' Set xlWB = Nothing 'ApXL.Quit' Set ApXL = Nothing End If End Function
Вызывается так:
Private Sub AppendToExcelSQLStatemet_Example () Вызов VBA_Access_ImportExport.ExportToExcel («SELECT * FROM Table1», «VBASheet», «C: Temp Test.xlsx») End Sub
Где вас просят ввести:
- SQL-запрос
- Имя выходного листа
- Путь и имя выходного файла.
Функция экспорта в новый файл Excel
Эти функции позволяют экспортировать объекты Access в новую книгу Excel. Вы можете найти их более полезными, чем простые одиночные строки в верхней части документа.
Открытая функция ExportToExcel (strObjectType как строка, strObjectName как строка, необязательный strSheetName как строка, необязательный strFileName как строка) Dim rst as DAO.Recordset Dim ApXL As Object Dim xlWBk As Object Dim xlWSh As Object Dim intCount As Integer Const xlWSh As Object Dim intCount As Integer Const xlWSh As Object Dim intCount As Integer Const 4161 Const xlCenter As Long = -4108 Const xlBottom As Long = -4107 Const xlContinuous As Long = 1 При ошибке GoTo ExportToExcel_Err DoCmd.Hourglass True Select Case strObjectType Case "Table", "Query" Set rst = CurrentDb.OpenrRecordSet (strObjectType) , dbSeeChanges) Case "Form" Set rst = Forms (strObjectName) .RecordsetClone Case "Report" Set rst = CurrentDb.OpenRecordset (Reports (strObjectName) .RecordSource, dbOpenDynaset, dbSeeChanges) End Select If rst.Rec записи для экспорта. ", vbInformation, GetDBTitle DoCmd.Hourglass False Else При ошибке Возобновить Далее Установить ApXL = GetObject (," Excel.Application ") Если Err.Number 0 Затем Установить ApXL = CreateObject (" Excel.Application ") Конец Если Err. Очистить при ошибке Перейти к ExportToExcel_Err Установить xlWBk = ApXL.Workbooks.Add ApXL.Visible = False Установить xlWSh = xlWBk.Worksheets ("Sheet1") Если Len (strSheetName)> 0 Тогда xlWSh.Name = Left (31) Если xlWSh.Name = Left (31) If xlWSh EndheetName .Range ("A1"). Выберите "Сделать до" intCount = rst.fields.Count ApXL.ActiveCell = rst.fields (intCount) .Name ApXL.ActiveCell.Offset (0, 1). Выберите intCount = intCount + 1 Loop rst. MoveFirst xlWSh.Range ("A2"). CopyFromRecordset rst With ApXL .Range ("A1"). Select .Range (.Selection, .Selection.End (xlToRight)). Select .Selection.Interior.Pattern = xlSolid .Selection. Interior.PatternColorIndex = xlAutomatic .Selection.Interior.TintAndShade = -0.25 .Selection.Interior.PatternTintAndShade = 0 .Selection.Borders.LineStyle = xlNone .Selection.AutoFilter .Cells.EnutoColumn.AutoFilter .Cells.EnutoColumn.AutoFilter. B2 "). Выберите .ActiveWindow.FreezePanes = True .ActiveSheet.Cells.Select .ActiveSheet.Cells.WrapText = False .ActiveSheet.Cells.EntireColumn.AutoFit xlWSh.Range (" A1 "). Выберите .Visible = True End Wi th retry: If FileExists (strFileName) Then Kill strFileName End If If if strFileName "" Then xlWBk.SaveAs strFileName, FileFormat: = 56 End If rst.Close Set rst = Nothing DoCmd.Hourglass False End If ExportToExcel_Exit_Exit: DoC ExportToExcel_Err: DoCmd.SetWarnings True MsgBox Err.Description, vbExclamation, Err.Number DoCmd.Hourglass False Resume ExportToExcel_Exit End Function
Функцию можно вызвать так:
Private Sub ExportToExcel_Example () Вызов VBA_Access_ImportExport.ExportToExcel ("Table", "Table1", "VBASheet") End Sub
Загрузить PDF
Загрузить PDF
Access – это реляционная система управления базами данных, в которую можно импортировать одну или несколько таблиц Excel и согласовать их однородные элементы. Более того, при помощи Access можно собрать и проанализировать большое количество данных, так как один файл Access включает несколько таблиц Excel. Но для начала необходимо импортировать данные из Excel в Access; это можно сделать, выполнив несколько основных действий.
-
1
На компьютере запустите Excel и Access. Необходимо купить и скачать пакет Microsoft Office, который содержит и Excel,[1]
и Access. Это можно сделать на официальном сайте компании Microsoft.- Установив пакет Microsoft Office, в Windows нажмите «Пуск» – «Все программы».[2]
- Нажмите «Microsoft Office» и в открывшемся меню выберите «Access» (или «Excel»). Скорее всего, у вас уже есть таблица Excel, которую вы скачали или получили по электронной почте. При помощи программы Excel вы сможете открыть такую таблицу.
- Установив пакет Microsoft Office, в Windows нажмите «Пуск» – «Все программы».[2]
-
2
Перед импортом данных в Access обработайте таблицу Excel. Это сильно облегчит задачу по переносу данных из Excel в Access. Суть в том, что в разных таблицах определенные данные должны иметь один формат.[3]
- Для начала удостоверьтесь, что первая строка каждой импортируемой таблицы содержит названия (заголовки) столбцов – названия должны ясно характеризовать данные, занесенные в столбцы.[4]
Например, если столбец содержит фамилии людей, назовите его «Фамилии». Давайте точные названия, чтобы облегчить процесс согласования заголовков столбцов в разных таблицах. - В Access вы можете согласовать однородные элементы в двух и более таблицах Excel. Например, у вас есть таблица Excel с данными по заработной плате, которая содержит ФИО (фамилия, имя, отчество), адреса и суммы заработной платы. Допустим, вы хотите сопоставить эту таблицу с другой таблицей, включающей данные о пожертвованиях на некий проект (ФИО, адреса и суммы пожертвований). В Access вы можете согласовать заголовки столбцов в разных таблицах. В нашем примере согласуйте названия столбцов с фамилиями, чтобы выяснить, какие люди присутствуют в обеих таблицах.
- Просмотрите каждую таблицу Excel и убедитесь, что данные внесены в одном формате; в противном случае обработайте таблицу так, чтобы привести данные к одному формату.[5]
Такой подход к формату данных отражает слово «реляционная» (от relation – зависимость, связь) в описании Access. Например, если в зарплатной таблице в столбце «ФИО» введены фамилии, имена и отчества, а в таблице о пожертвованиях в столбце «ФИО» – только фамилии и имена, то Access не считает данные столбцы однородными (то есть не сможет согласовать их). Поэтому одинаковыми должны быть как названия столбцов, так и формат данных, которые содержатся в этих столбцах.
- Для начала удостоверьтесь, что первая строка каждой импортируемой таблицы содержит названия (заголовки) столбцов – названия должны ясно характеризовать данные, занесенные в столбцы.[4]
-
3
Разделите данные в столбцах таблицы Excel. Для того чтобы сделать элементы таблицы Excel однородными (для их импорта в Access), разделите информацию в соответствующих столбцах.[6]
- Например, вы можете поместить фамилию в один столбец, имя – во второй, а отчество – в третий. Аналогичным образом поступите с соответствующим столбцом во второй таблице. Теперь в Access вы сможете согласовать, например, фамилии из одной таблицы с фамилиями из другой и найти людей, которые присутствуют в обеих таблицах.
- Для разделения данных в столбце Excel выделите нужный столбец. В панели инструментов нажмите «Данные». Затем нажмите «Текст по столбцам». Рекомендуется выбрать опцию «С разделителями». Затем нажмите «Далее».
-
4
Для разделения данных, расположенных в одном столбце, следуйте подсказкам Мастера текстов. Выполните следующие действия:
- Выберите символ-разделитель между данными. Помните, что информация, занесенная в ячейку, разделяется каким-то символом. Как правило, таким символом-разделителем является пробел, запятая или точка с запятой. В подавляющем большинстве случаев информация разделяется пробелом. Например, в ячейку занесена следующая информация: Иванов Иван Иванович. Здесь Фамилия отделена от имени пробелом, а имя отделено от отчества также пробелом. В этом случае в окне Мастера текстов выберите опцию «Пробел».
- Нажмите «Далее». Затем нажмите «Готово». Столбец с ячейкой «Иванов Иван Иванович» разделится на три столбца. Теперь вы можете присвоить имя каждому из трех новых столбцов, то есть назвать их как «Фамилия», «Имя», «Отчество». Перед разделением информации справа от разделяемого столбца вставьте несколько пустых столбцов, чтобы Excel занес в них разделенные данные (а не в уже заполненные столбцы с другими данными).
Реклама
-
1
Запустите Access. Для этого нажмите «Пуск» – «Microsoft Office» – «Microsoft Access». Для импорта данных из Excel создайте новую базу данных Access.
- Для создания базы данных в окне программы Access нажмите «Новая база данных».
- Если хотите, присвойте созданной базе данных имя. Затем нажмите «Создать».
-
2
Импортируйте таблицу Excel в Access. Теперь вы можете импортировать данные из одной или нескольких таблиц Excel в Access.
- На панели инструментов (в окне программы Access) нажмите «Внешние данные».[7]
В некоторых версиях Access на панели инструментов нажмите «Файл» – «Внешние данные».[8]
- В разделе «Имя файла» нажмите «Обзор», чтобы найти нужную таблицу Excel.
- Поставьте флажок у опции «Импортировать исходные данные в новую таблицу в текущей базе данных» (эта опция активирована по умолчанию).
- Найдя нужную таблицу, щелкните по ней. Затем нажмите «OK». Откроется мастер импорта данных из Excel в Access.
Реклама
- На панели инструментов (в окне программы Access) нажмите «Внешние данные».[7]
-
1
Выполните указания мастера импорта данных. Это необходимо сделать для завершения процесса импорта таблицы Excel в Access.
- Выберите лист в таблице Excel, данные которого вы хотите импортировать в Access. Порой это очень легко, потому что таблица содержит всего один лист. Но иногда одна таблица Excel включает множество листов, вкладки которых отображаются в нижней части окна программы Excel; в этом случае нужно указать определенный лист. Затем нажмите «Далее».
- Отобразится окно с вопросом, содержит ли первая строка таблицы заголовки столбцов. Здесь имеются в виду названия, характеризующие данные в каждом столбце (например, фамилия, адрес, сумма заработной платы и так далее). Прекрасно, если до этого вы обработали таблицу Excel так, что первая строка содержит строго определенные названия столбцов; в этом случае отметьте опцию, что первая строка содержит заголовки столбцов. Затем нажмите «Далее».
- Если в первой строке заголовков столбцов нет, в открывшемся окне отобразится вопрос о том, хотите ли вы присвоить имена «полям» (в Access под «полями» понимаются заголовки столбцов). Если до этого вы не вводили названия столбцов, сделайте это сейчас.
-
2
Завершите импорт данных. Вам осталось выполнить всего несколько действий. В открывшемся окне определите первичный ключ (если хотите).
- Вы можете, но не обязаны, делать это. Первичный ключ – это уникальный номер, присваиваемый каждой строке с данными; это может пригодиться при сортировке данных. Затем нажмите «Далее».[9]
- В последнем окне отобразится имя по умолчанию. Вы можете переименовать таблицу Excel (по завершении импорта она отобразится в виде таблицы Access на левой стороне экрана).
- Нажмите «Импорт», а затем нажмите «Закрыть». Таблица отобразится на левой стороне экрана; это значит, что она полностью импортирована в Access.
- Если вы хотите согласовать несколько баз данных, проделайте вышеописанные действия для импорта одной или нескольких дополнительных таблиц Excel. Теперь вы можете приступить к согласованию данных в Access.
Реклама
- Вы можете, но не обязаны, делать это. Первичный ключ – это уникальный номер, присваиваемый каждой строке с данными; это может пригодиться при сортировке данных. Затем нажмите «Далее».[9]
Предупреждения
- Имейте в виду, что если версия Excel, в которой была создана таблица, отличается от версии Access, вы можете столкнуться с проблемами при импорте данных.
- Повторим еще раз: перед импортом данных обработайте таблицу Excel. То есть обратите внимание на формат данных, с которыми вы собираетесь работать.
- Сделайте копию исходной таблицы, чтобы в крайнем случае вы смогли импортировать данные еще раз.
- В Access можно импортировать не более 255 столбцов.[10]
Реклама
Об этой статье
Эту страницу просматривали 45 293 раза.
Была ли эта статья полезной?
Содержание
- Метод DoCmd.TransferSpreadsheet (Access)
- Синтаксис
- Параметры
- Примечания
- Пример
- Поддержка и обратная связь
- Импорт данных excel access vba
- Access VBA – Import / Export Excel – Query, Report, Table, and Forms
- Import Excel File Into Access
- Import Excel to Access Function
- Access VBA Export to New Excel File
- Export Query to Excel
- Export Report to Excel
- Export Table to Excel
- VBA Coding Made Easy
- Export Form to Excel
- Export to Excel Functions
- Export to Existing Excel File
- Export SQL Query to Excel
- Function to Export to New Excel File
- VBA Code Examples Add-in
- Доступ к VBA — импорт / экспорт Excel — запрос, отчет, таблица и формы
- Импортировать файл Excel в Access
- Импортировать Excel в функцию доступа
- Доступ к экспорту VBA в новый файл Excel
- Экспорт запроса в Excel
- Экспорт отчета в Excel
- Экспорт таблицы в Excel
- Экспорт формы в Excel
- Экспорт в функции Excel
- Экспорт в существующий файл Excel
- Экспорт SQL-запроса в Excel
- Функция экспорта в новый файл Excel
- Импорт данных excel access vba
Метод DoCmd.TransferSpreadsheet (Access)
Метод TransferSpreadsheet выполняет действие TransferSpreadsheet в Visual Basic.
Синтаксис
выражение.TransferSpreadsheet (TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
выражение: переменная, представляющая объект DoCmd.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
TransferType | Необязательный | AcDataTransferType | Нужный тип переноса. Значение по умолчанию — acImport. |
SpreadsheetType | Необязательный | AcSpreadSheetType | Тип электронной таблицы для импорта, экспорта или связи. |
TableName | Необязательный | Variant | Строковое выражение, являющееся именем таблицы Office Access, предназначенной для импорта данных электронной таблицы, экспорта данных электронной таблицы или связывания данных электронной таблицы, или запрос на выборку Access, результаты которого нужно экспортировать в электронную таблицу. |
FileName | Необязательный | Variant | Строковое выражение, являющееся именем и путем электронной таблицы для импорта, экспорта или связывания. |
HasFieldNames | Необязательный | Variant | Используйте значение True (1), чтобы использовать первую строку электронной таблицы в качестве имен полей при импорте или связывании. Используйте значение False (0), чтобы считать первую строку электронной таблицы обычными данными. Если оставить этот аргумент пустым, предполагается, что используется значение по умолчанию (False). При экспорте таблицы или данных запроса на выборку Access в электронную таблицу имена полей записываются в первую строку электронной таблицы независимо от введенного значения этого аргумента. |
Range | Необязательный | Variant | Строковое выражение, являющееся допустимым диапазоном ячеек или именем диапазона в электронной таблице. Этот аргумент применяется только для импорта. Чтобы импортировать электронную таблицу целиком, оставьте этот аргумент пустым. При экспорте в электронную таблицу необходимо оставить этот аргумент пустым. Если ввести диапазон, экспорт завершится сбоем. |
UseOA | Необязательный | Variant | Этот аргумент не поддерживается. |
Примечания
Используйте метод TransferSpreadsheet для импорта или экспорта данных между текущей базой данных Access или проектом Access (ADP) и файлом электронной таблицы. Вы также можете связать данные в электронной таблице Excel с текущей базой данных Access. Это позволит просматривать и изменять данные электронной таблицы с помощью Access, при этом не теряя возможность полного доступа к ним в Excel. Кроме того, вы можете связать данные в файле электронной таблицы Lotus 1-2-3, но они будут доступны в Access только для чтения.
Также можно использовать объекты данных ActiveX (ADO) для создания связи с помощью свойства ActiveConnection для объекта Recordset.
Пример
В следующем примере импортируются данные из указанного диапазона электронной таблицы Lotus Newemps.wk3 в таблицу Employees (Сотрудники) Access. В качестве имен полей используется первая строка электронной таблицы.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Импорт данных excel access vba
Учимся работать с базами данных Access из макросов Excel
Кратко о структуре базы данных. База состоит из таблиц. Таблица — из строк. Строка — из полей. В полях могут храниться данные разных форматов. Форматы определяются в момент создания таблицы. Создать базу и таблицы в ней можно в Access, а можно и средствами макроса прямо из Excel.
Чтобы Access смог обращаться к базам Access, нужно подключить библиотеку DAO. Для этого в редакторе Visual Basic выбираем меню «Tools->References», открывается окошко, в котором нужно поставить галочку напротив Microsoft DAO 3.6 Object Library.
Теперь делаем так:
‘Объявляем переменные
Dim dbs As DAO.Database ‘База данных
Dim rs As DAO.Recordset ‘Запрос к базе данных
‘Открываем базу
Set dbs = DAO.OpenDatabase(«c:database.mdb»)
‘Выполняем запрос к базе данных
Set rs = dbs.OpenRecordset(«SELECT * FROM тбл_тов WHERE ID_тов>2»)
Тут объясню подробнее. Запросы к базе выполняются на языке SQL. Пока рассмотрим только одну команду этого языка — SELECT. Эта команда выбирает из таблицы строки, удовлетворяющие заданному условию. Там, где у нас стоит звездочка, можно указать названия полей, которые будут присутствовать в ответе. В нашем случае будет возвращаться вся строка полностью. После слова FROM идет название таблицы, из которой идет выбор строк. Таблиц в базе может быть много. В нашем случае это тбл_тов — таблица товаров. После слова WHERE указывается условие, по которому отбираются строки. У нас условие такое: если поле ID_тов > 2, то строка включается в ответ. Ответ получается в переменной rs, которая имеет тип Recordset. Recordset — это временная таблица, сформированная из строк, удовлетворяющих условию запроса.
‘Если ничего не найдено — выдаем сообщение и выходим
If RS.RecordCount = 0 Then
MsgBox ( «По вашему запросу ничего не найдено» )
Do While Not RS.EOF ‘цикл выполняется пока не достигнута последняя строка в таблице ответа
‘Присваиваем ячейкам таблицы значения из базы
Cells ( i , 2 ). Value = RS.Fields ( «назв_тов» )
Cells ( i , 1 ). Value = RS.Fields ( «ID_тов» )
‘переходим к следующей строке во временной таблице ответа
‘Закрываем временную таблицу
‘Очищаем память. Если этого не сделать, то таблица так и останется в памяти до закрытия рабочей книги.
Источник
Access VBA – Import / Export Excel – Query, Report, Table, and Forms
This tutorial will cover the ways to import data from Excel into an Access Table and ways to export Access objects (Queries, Reports, Tables, or Forms) to Excel.
Import Excel File Into Access
To import an Excel file to Access, use the acImport option of DoCmd.TransferSpreadsheet :
Or you can use DoCmd.TransferText to import a CSV file:
Import Excel to Access Function
This function can be used to import an Excel file or CSV file into an Access Table:
You can call the function like this:
Access VBA Export to New Excel File
To export an Access object to a new Excel file , use the DoCmd.OutputTo method or the DoCmd.TransferSpreadsheet method:
Export Query to Excel
This line of VBA code will export a Query to Excel using DoCmd.OutputTo:
Or you can use the DoCmd.TransferSpreadsheet method instead:
Note: This code exports to XLSX format. Instead you can update the arguments to export to a CSV or XLS file format instead (ex. acFormatXLSX to acFormatXLS).
Export Report to Excel
This line of code will export a Report to Excel using DoCmd.OutputTo:
Or you can use the DoCmd.TransferSpreadsheet method instead:
Export Table to Excel
This line of code will export a Table to Excel using DoCmd.OutputTo:
Or you can use the DoCmd.TransferSpreadsheet method instead:
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Export Form to Excel
This line of code will export a Form to Excel using DoCmd.OutputTo:
Or you can use the DoCmd.TransferSpreadsheet method instead:
Export to Excel Functions
These one line commands work great to export to a new Excel file. However, they will not be able to export into an existing workbook. In the section below we introduce functions that allow you to append your export to an existing Excel file.
Below that, we’ve included some additional functions to export to new Excel files, including error handling and more.
Export to Existing Excel File
The above code examples work great to export Access objects to a new Excel file. However, they will not be able to export into an existing workbook.
To export Access objects to an existing Excel workbook we’ve created the following function:
You can use the function like this:
Notice you are asked to define:
- What to Output? Table, Report, Query, or Form
- Object Name
- Output Sheet Name
- Output File Path and Name.
Export SQL Query to Excel
Instead you can export an SQL query to Excel using a similar function:
Called like this:
Where you are asked to input:
- SQL Query
- Output Sheet Name
- Output File Path and Name.
Function to Export to New Excel File
These functions allow you to export Access objects to a new Excel workbook. You might find them more useful than the simple single lines at the top of the document.
The function can be called like this:
VBA Code Examples Add-in
Easily access all of the code examples found on our site.
Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.
Источник
Доступ к VBA — импорт / экспорт Excel — запрос, отчет, таблица и формы
В этом руководстве будут рассмотрены способы импорта данных из Excel в таблицу Access и способы экспорта объектов Access (запросов, отчетов, таблиц или форм) в Excel.
Импортировать файл Excel в Access
Чтобы импортировать файл Excel в Access, используйте acImport вариант DoCmd.TransferSpreadsheet :
Или вы можете использовать DoCmd.TransferText чтобы импортировать файл CSV:
Импортировать Excel в функцию доступа
Эту функцию можно использовать для импорта файла Excel или CSV в таблицу доступа:
Вы можете вызвать функцию так:
Доступ к экспорту VBA в новый файл Excel
Чтобы экспортировать объект Access в новый файл Excel, используйте DoCmd.OutputTo метод или DoCmd.TransferSpreadsheet метод:
Экспорт запроса в Excel
Эта строка кода VBA экспортирует запрос в Excel с помощью DoCmd.OutputTo:
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
Примечание: Этот код экспортирует в формат XLSX. Вместо этого вы можете обновить аргументы для экспорта в формат файла CSV или XLS (например, acFormatXLSX к acFormatXLS).
Экспорт отчета в Excel
Эта строка кода экспортирует отчет в Excel с помощью DoCmd.OutputTo:
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
Экспорт таблицы в Excel
Эта строка кода экспортирует таблицу в Excel с помощью DoCmd.OutputTo:
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
Экспорт формы в Excel
Эта строка кода экспортирует форму в Excel с помощью DoCmd.OutputTo:
Или вы можете использовать вместо этого метод DoCmd.TransferSpreadsheet:
Экспорт в функции Excel
Эти однострочные команды отлично подходят для экспорта в новый файл Excel. Однако их нельзя будет экспортировать в существующую книгу. В следующем разделе мы представляем функции, которые позволяют вам добавить экспорт в существующий файл Excel.
Ниже мы включили некоторые дополнительные функции для экспорта в новые файлы Excel, включая обработку ошибок и многое другое.
Экспорт в существующий файл Excel
Приведенные выше примеры кода отлично подходят для экспорта объектов Access в новый файл Excel. Однако их нельзя будет экспортировать в существующую книгу.
Чтобы экспортировать объекты Access в существующую книгу Excel, мы создали следующую функцию:
Вы можете использовать эту функцию так:
Обратите внимание, что вас просят определить:
- Что выводить? Таблица, отчет, запрос или форма
- Имя объекта
- Имя выходного листа
- Путь и имя выходного файла.
Экспорт SQL-запроса в Excel
Вместо этого вы можете экспортировать SQL-запрос в Excel, используя аналогичную функцию:
Где вас просят ввести:
- SQL-запрос
- Имя выходного листа
- Путь и имя выходного файла.
Функция экспорта в новый файл Excel
Эти функции позволяют экспортировать объекты Access в новую книгу Excel. Вы можете найти их более полезными, чем простые одиночные строки в верхней части документа.
Источник
Импорт данных excel access vba
Excel: умный импорт из Excel листа в таблицу Access
Всем привет, помогите разобраться с нижеизложенным.
Что Дано:
Есть книга Excel «C:Datatest.xls». В этой книге есть лист «output», с таблицей данных (первая строка — название полей).
Есть база Access «C:DatamyData.mdb.xls». В этой базе есть таблица «test» с данными.
Что надо сделать:
Необходимо создать макрос в Excel, который бы вставлял данные из листа output, в таблицу «test», причем если в таблице «test» есть уже такие данные (определяется по трем ключевым полям), то их необходимо заменить. Т.е. не должно быть дублированых записей в таблице «test». Этим макросом я буду пополнять ежедневно данные в таблице «test», либо заменять уже существующие (на верные или скорректированные).
В чем проблема:
Я не знаю как создать таблицу (объект?) с дынными из Excel, что бы:
a. проверить есть ли такие же записи в таблице «test» (если есть, то удалить их из «test» и залить заново)
b. Вставить их в access.
Все это я буду делать (уже делаю) через ADO. Сейчас копаюсь в книгах и инете — не нашел примеров создания таблицы (recordset’а) в Excel, копированием/выделением/селектом диапазона ячеек. Помогите пожалуйста, горит.
Решать такую задачу со стороны Excel сложнее чем из Access, в котором достаточно выполнить два запроса, один на обновление второй на добавление.
В Вашем варианте можно сделать следующее:
создать рекордсет ADO в Excel,
заполнить его данными из листа «output»,
открыть рекордсет с набором записей таблицы «test»
фильтром и перебором всех записей произвести сравнение, для редактирования или добавления записей.
Все эти процедуры и библиотека ADO должны присутствовать в проекте VBA файла xls.
Евгений.
Получается последовательность такая:
1создать рекордсет ADO в Excel,
2заполнить его данными из листа «output»,
22 Подконнектится
3открыть рекордсет с набором записей таблицы «test»
4фильтром и перебором всех записей произвести сравнение, для редактирования или добавления записей.
Как раз проблема с пп. 1 и 2 — я не знаю что прописать.
Dim xlsRecordSet as ADODB.Recordset
Set xlsRecordSet = New ADOD.Recordset
Const ConnectionString As String = _
«Provider = Microsoft.Jet.OLEDB.4.0;» + _
«Data Source = C:DatamyData.mdb;Persist Security Info=False»
Dim Connection As ADODB.Connection
Set Connection = New ADODB.Connection
If Connection.State = ObjectStateEnum.adStateOpen Then objConn.Close
If Connection.State = ObjectStateEnum.adStateOpen Then objConn.Close
Как рекордсет создается и заполняется Вы можете посмотреть в коде.
Также его можно сортировать и передавать в массив ( это для примера ).
Dim rs As Object , i% , V ()
Set rs = CreateObject ( «ADODB.Recordset» ) ‘создание рекордсета
rs.Fields.Append «Fld» , 200 , 255 ‘ добавление поля в рекордсет
rs.Open ‘открываем рекордсет
rs.AddNew ‘добавление записи в реккордсет
rs ( 0 ) = «Text» ‘ввод данных
rs.Sort = «Fld» ‘имя поля сортировки «Fld desk» — по убыванию
V = rs.GetRows ‘при необходимости передаем все содержимое рекордсета в массив
rs.Close ‘ закрываем рекордсет
Set rs = Nothing ‘ очищаем переменную для освобождения памяти
Организовать циклы добавления нужного количества полей , сбора данных листа и заполнения полей рекордсета , надеюсь Вы сможете самостоятельно.
‘=======================================================================В цикле перебора набора записей, создается строчная переменная содержащая значение поля рекордсета
sSql = «INSERT INTO Table1 ( Fld1 ) SELECT ‘» & rs ( 1 ) & «‘» ‘текст момещается в апострофы
Источник
Перейти к содержанию
На чтение 1 мин Опубликовано 19.06.2015
Этот пример научит вас импортировать информацию из базы данных Microsoft Access. Импортируя данные в Excel, вы создаёте постоянную связь, которую можно обновлять.
- На вкладке Data (Данные) в разделе Get External Data (Получение внешних данных) кликните по кнопке From Access (Из Access).
- Выберите файл Access.
- Кликните Open (Открыть).
- Выберите таблицу и нажмите ОК.
- Выберите, как вы хотите отображать данные в книге, куда их следует поместить и нажмите ОК.
Результат: Записи из базы данных Access появились в Excel.
Примечание: Когда данные Access изменятся, Вам достаточно будет нажать Refresh (Обновить), чтобы загрузить изменения в Excel.
Оцените качество статьи. Нам важно ваше мнение:
Знаете ли вы, что вы можете экспортировать базу данных Access на лист Excel? В Microsoft Excel есть функции для импорта или экспорта данных из листа Excel или в него. При экспорте данных в Excel Access создает копию выбранных данных, а затем сохраняет скопированные данные в файле, который можно открыть в Microsoft Excel. В Access можно экспортировать таблицы, запросы, формы и отчеты, но нельзя экспортировать макросы или модули в Excel. При экспорте форм, отчетов или таблиц, содержащих подчиненные формы, подотчеты и подтаблицы, экспортируется только основная форма, отчет или таблица.
Выполните следующие действия, чтобы экспортировать базу данных Access в Excel:
- Откройте файл базы данных Access.
- Перейдите на вкладку «Внешние данные».
- Нажмите кнопку Excel в группе Экспорт.
- Щелкните Обзор.
- Назовите файл, выберите папку для сохранения файла экспорта и нажмите «Сохранить».
- Нажмите «ОК».
- Нажмите кнопку Закрыть.
- Найдите и откройте файл.
Откройте файл базы данных Access.
Перейдите на вкладку «Внешние данные».
Нажмите на Excel кнопка в Экспорт группа.
Откроется диалоговое окно мастера «Экспорт — электронная таблица Excel».
Нажмите на Просматривать кнопка.
Откроется диалоговое окно сохранения файла.
Назовите файл, выберите папку для сохранения файла экспорта и нажмите Сохранять.
Вернувшись в диалоговое окно мастера «Экспорт — таблица Excel», нажмите ХОРОШО.
Затем закройте диалоговое окно
Найдите файл, который вы экспортировали в Excel, и откройте его (это файл Excel).
Можете ли вы скопировать базу данных Access?
Да, вы можете скопировать базу данных Access в другую папку. Откройте папку, содержащую базу данных Access, которую вы хотите скопировать. Щелкните правой кнопкой мыши файл базы данных Access и выберите «Копировать» в контекстном меню. Перейдите в папку, в которую вы хотите вставить базу данных Access; щелкните правой кнопкой мыши и выберите «Вставить» в контекстном меню.
Читайте: Как создавать таблицы с помощью конструктора таблиц в Access
Какие типы файлов вы можете экспортировать в Access?
В Access вы можете экспортировать данные из Access в различных форматах, таких как список Excel, Word и SharePoint. Экспорт базы данных Access в Excel приведет к экспорту объекта на рабочий лист в файле Excel. При экспорте базы данных Access в Word выбранный объект будет экспортирован в форматированный текст. Экспорт базы данных Access в SharePoint приведет к экспорту выбранного объекта в SharePoint в виде списка.
Читайте: Как вставить файл PDF в лист Excel
Как экспортировать данные из Access в Excel более 65000 строк?
Чтобы экспортировать данные Access, содержащие более 65 000 строк с форматированием и макетом, вам потребуется настроить запрос на экспорт 65 000 строк за раз в отдельные электронные таблицы. После этого вам нужно скопировать и вставить их вместе в одну таблицу.
Мы надеемся, что это руководство поможет вам понять, как экспортировать базу данных Access в Excel.