Как сделать импорт базы данных access

Обновлено: 06.07.2024

Очень часто у программистов и пользователей, у которых реализовано приложение в связке клиент (Access – adp проект) и сервер (Microsoft SQL Server – база данных) возникает необходимость импорта данных, с помощью adp проекта, в базу данных, причем чтобы это могли делать простые пользователи, т.е. максимально просто, без привлечения программистов. И сегодня мы поговорим о реализации данной возможности.

Так как импортируемые данные могут быть разные, сегодня мы рассмотрим 2 примера импорта.

  1. Импорт данных из Excel
  2. Импорт изображения в базу данных и ее дальнейшее отображение в отчетах и формах

Импорт данных из Excel в Microsoft SQL Server на VBA Access

И начнем мы с импорта данных из таких форматов как xls и dbf, так как это очень часто требуется в работе, а если у кого и не часто, то все равно рано или поздно такая необходимость возникнет.

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

Данный способ заключается в подключении напрямую к файлу источнику через поставщика Microsoft.Jet.OLEDB.4.0.

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

Примечание! Называйте лист в файле, на котором располагаются данные, также как и сам файл.

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

Таблицу создадим вот так:

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

Общий смысл заключается в том, что Вы выбираете файл, а если конкретней, то считываете путь к файлу, затем подключаетесь к этому файлу, считываете данные и записываете в свою базу данных.

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

Импорт изображения в Microsoft SQL Server на VBA Access

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

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

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

Вот в принципе и все, если что непонятно пишите в комментариях, может, чем помогу. Удачи!

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

  • 1. Мы перенесем (импортируем) Список Excel Книги в Access и поработаем с формами, запросами и отчетами. Формы Access создаются Мастерами буквально несколькими кликами мыши. Запросы позволяют манипулировать информацией: отбирать, преобразовывать, вычислять. Это больше и легче, чем фильтрация Excel. Отчеты Access позволяют создавать на основе информации базы данных, часто, используя запросы, выходные документы с колонтитулами, названиями, заголовками и другими атрибутами документа.
  • 2. Мы научимся использовать шаблон Microsoft Access электронного каталога Biblio и модифицируем его в соответствии с нашими потребностями. Серьезные специалисты работают с текстами, делают выписки. Но нужен инструмент, который бы позволил среди этих многочисленных выписок находить полезные именно для текущей работы. Делать это можно с использованием ключевых слов. Мы сделаем такую базу данных. Легко. Действительно легко.
  • 3. Модифицировать — это часто, как носить костюм, сшитый для другого человека. Можно походить и в таком, но все же приятнее, когда вещь сделана именно для тебя. То есть, если это не очень сложно для вас, было бы полезно научиться делать несложные базы данных самостоятельно. Мы обозначим некоторый минимум знаний, который позволит создавать базы данных в 3—5 таблиц с отношениями многие-ко-многим, подстановками и т.д. И научимся с ними работать.

Таблицы Google, облако, таблицы Excel — это все очень хорошо. Но мы хотим показать, что манипулировать данными о книгах много проще в Access. Предварительно определим, что

База данных (БД) есть совокупность взаимосвязанных таблиц, собранных с определенной целью о сущностях одной предметной области.

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

Наши задачи следующие.

  • 1. Определить наличие той или иной книги в домашней библиотеке.
  • 2. Подготовить требование для книги из библиотеки Университета (вы работали с этой книгой и в вашем каталоге есть реквизиты книги).
  • 3. Составить список литературы по учебной дисциплине.
  • 4. Составить список литературы по проблеме, которой вы занимаетесь.
  • 5. Составить список литературы по определенной проблеме за определенный период времени.
  • 6. И, может быть главное, обеспечить возможность создания выписок из изученных книг и их систематизацию по ключевым словам.

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

При исключении повторяющихся записей можно использовать один из двух подходов. Во-первых, Расширенный фильтр. Если выполнить команду Данные / Дополнительно, то появится окно Расширенный фильтр (рис. 4.1). В этом окне нужно выставить флаг Только уникальные записи.

Фильтрация только в уникальных записях

Рис. 4.1. Фильтрация только в уникальных записях

Во-вторых, на вкладке Данные в группе Работа с данными есть команда Удалить дубликаты. После выполнения команды появится окно оповещения (рис. 4.2). [1] [2]

Окно оповещения об удалении дубликатов записей

Рис. 4.2. Окно оповещения об удалении дубликатов записей

Шаблоны баз данных Access

Рис. 43. Шаблоны баз данных Access


A/c. 4.4. Начальная страница работы с пустой базой данных

Чтобы импортировать в Access таблицу Excel из Excel, необходимо выполнить команду Внешние данные / Excel. В результате появится окно Внешние данные (рис. 4.5).

Импорт таблицы в Access таблицы Excel

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

Через кнопку Обзор нужно выбрать файл для импорта данных. Это также файл Книги80. Заголовки столбцов таблицы Excel будут полями таблицы Access. Лучше, если будут удалены пробелы между словами в этих заголовках. Система, конечно, укажет на ошибки, но чтобы потом с ними не возиться, следует перед импортом внимательно просмотреть таблицу Excel. Вот что получится, если этого не сделать (рис. 4.6).

Пример ошибки при импорте

Рис. 4.6. Пример ошибки при импорте

В нашем случае просто отсутствовал один из заголовков. Хорошо, если названия будут из одного слова: ГодИздания, но не Год издания. Первое начертание упростит дальнейшие манипуляции с именами полей (их не нужно будет брать в кавычки).

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

Работа с мастером Импорта

Рис. 4.7. Работа с мастером Импорта

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

Чтобы работать в режиме конструктора, необходимо вызвать Контекстное меню (рис. 4.9). Работать с ним предпочтительнее, нежели обращаться к командам ленты.

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

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

Перенос таблиц Excel в СУБД Access осуществляется при помощи интерфейса последней в несколько простых шагов:

1. Откройте либо создайте новую базу данных.

импорт из Excel

3. Перед Вами появиться окно, где необходимо выбрать сам файл источника и способ его импортирования:

  • Перенос данных из источника в новую таблицу базы данных;
  • Если в базе уже имеются таблицы, то можно добавить импортируемые данные к уже существующим;
  • Импорт с сохранением связи с источником. Этот способ позволяем моментально обновлять таблицы в БД при их изменении в файле источника, но не наоборот.

Выбор файла исходных данных

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

Диапазон импортируемых данных

5. Следующие 2 шага определяют заголовки будущей таблицы:

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

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

Для того чтобы перенести базу данных из Access 2016 в MS SQL Server необходимо выполнить ряд действий.

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

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


Щелкаем по кнопке Дополнительно, откроется меню выбора , выбираем База данных ODBC


Откроется окно. Таблица, которую переносим из Access, называется test. В поле ввода необходимо написать название таблицы, которая будет создана на SQL Server


Откроется окно , Переходим на вкладку как на скрине


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


Жмем далее и выбираем нужный нам драйвер


Жмем далее и Готово.

Откроется настройка подключения к серверу. Заполняем поля Имя – оно будет отображаться в списке выбора (удобное для вас) и жмем на галочку для выбора сервера. Будет долго думать, потом в выпадающем списке выбираем название экземпляра. Скорее всего у вас будет один.


Жмем Далее. Выбираем проверку подлинности, такую же как на сервере. Хотя может быть и так и так.

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


Готово, делаем проверку источника данных. ТЕСТ УСПЕШЕН! Жмем везде ОК


Дальше, выбираем наш источник данных Жмем ОК


Открывается окно, вводим пароль и жмем Параметры


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


На сервере создалась наша таблица со всеми данными.


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




Интересные статьи

Использование утилиты 1С RING

В предыдущей статье, мы рассмотрели, как установить утилиту RING для расшифровки лицензий 1С. В данной статье будет рассмотрен функционал и приведены примеры того, как правильно использовать утилиту и на какие […]

SNR CVT SERIAL не совпала сумма CRC.

В процессе налаживания связи со счетчиком по средствам асинхронного сервера (конвертера интерфейсов), часто возникает ошибка не совпала сумма CRC. Ошибка появляется на начальном этапе, когда программа ожидает ответа от сервера и […]

Добрый день, многие из вас знают, что такое факс и для чего он используется, в основном для отправки каких-то документов. В настоящее время от привычных всем факсовых аппаратов многие отказываются, […]

Конвертер асинхронный сервер RS-232/422/485 с Ethernet. SNR-CVT-SERIAL и.

Двунаправленный преобразователь сигналов интерфейса RS-232/422/485 и Ethernet. Для подключения к конвертеру интерфейсов RS-232/422/485 — Ethernet с 1 последовательным портом, назначьте своему компьютеру статический IP-адрес из диапазона 192.168.2.2 … 192.168.2.254 с маской подсети 255.255.255.0.

Возвращение модема ТС65 к жизни.

Случилось однажды непоправимое, хоть такого и не бывает. Один из модемов перестал передавать данные со счетчика. На команды и смс тоже никакой реакции не было, пришлось снимать с объекта и […]

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

Довольно часто сталкиваешься с проблемой преобразования имени хоста в ip адрес, или же наоборот айпи адрес в имя. В первом случае все очень просто. Достаточно открыть консоль CMD Пуск—-Выполнить—cmd Далее […]

Спасибо! Очень полезная статья. Правда есть вопросик, можно ли перенести схему данных из Access в MsSQL?

Читайте также: