Как импортировать данные из excel в access: Перемещение данных из Excel в Access

Импорт из Excel в Access

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

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

2. На вкладке «Внешние данные» в группе «Импорт и связи» нажмите на иконку «Excel»

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

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

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

4. Далее следует указать диапазон, в котором находится требуемая информация. Это может быть лист либо именованный диапазон. Начиная с данного этапа, если Вас все устраивает, процесс можно закончить, подтвердив нажатием на кнопку «Готово».

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

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

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

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

  • < Назад
  • Вперёд >

Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы я мог развивать его дальше.

Добавить комментарий

Импорт и экспорт данных в базе Access

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



В группе «Импорт» нажмите кнопку, соответствующую типу файла – источника данных, например, «Excel».

В открывшемся окне диалога следует найти файл данных источника, или ввести в поле «Имя файла» полный путь к этому файлу.

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

в конец существующей или в таблицу,

связанную с файлом — источником.

Для подтверждения выбора нажмите кнопку «OK».

Мастер импорта Microsoft Office Access 2007 предлагает выполнить определенную последовательность действий для вставки импортируемых данных в выбранное место. На первой странице Мастера выберите лист файла Excel, содержащий данные для импорта, и нажмите кнопку «Далее».

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

В этом случае заголовки столбцов будут использованы в Access в качестве имен полей в таблице. Для перехода на следующую страницу Мастера нажмите кнопку «Далее».
На этой странице можно просмотреть и подкорректировать свойства полей новой таблицы. Для того чтобы отобразить свойства нужного поля, нужно щелкнуть по соответствующему столбцу в образце данных. Если данные какого-либо столбца не нужны или не переносятся в Access корректно, можно не импортировать этот столбец. Для этого выделите столбец, который не следует включать в таблицу,

и установите переключатель «Не импортировать (пропустить) поле». Нажмите кнопку «Далее».

В этом окне необходимо задать первичный ключ для таблицы.

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

В последнем окне Мастера надо указать имя конечной таблицы в поле «Импорт в таблицу».

Нажмите кнопку «Готово», чтобы импортировать данные.

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

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

Если на странице «Внешние данные» в разделе «Импорт» нет команды, соответствующей нужному типу файла, нажмите кнопку «Дополнительно»

и проверьте, нет ли этого типа данных в открывшейся галерее.

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

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

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

В этом уроке на простом примере было показано Импорт и экспорт данных в базе Access. Если было интересно, то рекомендую посмотреть видеоурок ниже.

Экспорт данных в Excel — Access

Вычисляемые поля

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

Многозначные поля

Многозначные поля экспортируются в виде списка значений, разделенных точками с запятой (;).

Рисунки, объекты и вложения

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

График

При экспорте формы или отчета, содержащих объект Microsoft Graph, он не экспортируется.

Данные в неверном столбце

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

Отсутствующие значения даты

Значения дат, предшествующих 1 января 1900 г., не экспортируются. Соответствующие ячейки на листе содержат значения Null.

Отсутствующие выражения

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

Отсутствующие подчиненные формы, отчеты и таблицы

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

Отсутствующие или неправильно отформатированные столбцы

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

Форматирование столбца в Excel

  1. Откройте целевую книгу Excel и перейдите на лист с экспортированными данными.

  2. Щелкните нужный столбец или выделенный диапазон ячеек правой кнопкой мыши и выберите пункт Формат ячеек.

  3. На вкладке Число в группе Числовые форматы выберите нужный формат, например Текстовый, Числовой, Дата или Время.

  4. Нажмите кнопку ОК.

Значение «#» в столбце

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

Индикаторы или значения ошибки

Проверьте ячейки на наличие индикаторов ошибки (треугольников зеленого цвета в углу ячеек) или значений ошибки (строк, которые начинаются со знака #, а не с нужных данных).

Импорт из Excel в Access — 24 Июля 2013

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

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

DoCmd. А если точнее, метод этого объекта, который называется TransferSpreadsheet. В этом случае импорт данных будет осуществляться при помощи одной единственной команды. Частично про подготовку к импорту упоминал вот здесь. Поэтому опишу только сам синтаксис команды для импорта.

Сама команда выглядит вот так:

DoCmd.TransferSpreadsheet TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range

Итак, все по порядку:

TransferType — это тип передачи. Для импорта в Access ставится acImport.

SpreadsheetType — в справке написано, что это тип таблицы. Обычно ставится

acSpreadsheetTypeExcel9. Вместо 9 также может встретиться 7 или 12. Пока не встречал ситуаций, чтобы это кардинально влияло на процесс импорта.

TableName — это имя таблицы Access, в которую вы хотите перенести данные. Поскольку это строковое выражение, то пишется в кавычках. Например, «table_1».

FileName — это путь к файлу, из которого вы хотели бы импортировать данные. Лично я предпочитаю брать путь к файлу из диалогового окна, записывать этот путь в переменную и уже ее подставлять в команду импорта. Но можно и явно прописать путь к файлу. В этом случае не забываем про кавычки! Например, «D:\test.xls».

HasFieldNames — этот аргумент может принимать значения True или False. Если стоит True, то первая строка импортируемой таблицы будет использоваться в качестве имен полей (заголовки таблицы в Access). Если поставить False, первая строка будет восприниматься как данные, а не как заголовки. По умолчанию, этот аргумент равен False.

Range — это диапазон импортируемых ячеек. Например, «A1:G5». Если аргумент оставить пустым, то будет импортироваться вся таблица. Важное замечание — этот аргумент может быть использован ТОЛЬКО при импорте. Если он будет использован при экспорте, то функция просто вернет ошибку.

Вот, собственно, и все! В качестве заключения, хочу добавить еще одно замечание:

Плюс данного метода заключается ещё и в том, что если вдруг в Access не окажется таблицы с указанным в команде именем, то такая таблица будет автоматически создана.

Иллюстрированный самоучитель по Microsoft Access 2003 › Совместный доступ к данным › Использование данных Excel в Access [страница — 169] | Самоучители по офисным пакетам

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

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

Импорт данных Excel в таблицу Access

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

  1. Выберите в окне базы данных команду Файл › Внешние данные › Импорт.
  2. В меню Тип файла выберите Microsoft Office Excel (*.xls), затем в списке файлов укажите КаталогиЕхсеl.хls и щелкните на кнопке Импорт. Кроме того, можно дважды щелкнуть на этом файле. В любом случае будет запущен мастер Импорт электронной таблицы.
  3. В первую очередь мастеру нужно знать, что импортируется – вся таблица или ее именованный диапазон. Под именованным диапазоном в Excel подразумевается определенный набор ячеек, к которым можно обращаться с использованием указанного имени. В данной таблице именованных диапазонов нет, поэтому оставьте выбранным переключатель Листы. Если вы установите переключатель Именованные диапазоны, список, расположенный справа, не изменится (так как именованных диапазонов не существует). В нижней части окна мастера приведены данные таблицы. Щелкните на кнопке Далее.
  4. В следующем окне в качестве имен полей можно указать заголовки столбцов Excel. Рекомендуется всегда устанавливать флажок Первая строка содержит заголовки столбцов. В противном случае имена полей будут обрабатываться Excel как обычные записи. Установив флажок, щелкните на кнопке Далее.
  5. Мастер позволяет сохранить данные в новой таблице или в уже существующей. По умолчанию выбран переключатель В новой таблице. Не изменяя ничего в этом окне, щелкните на кнопке Далее.
  6. В следующем окне выполняются многие действия. Во-первых, можно переименовать любое поле, выбрав его в нижнем списке и указав имя в элементе управления Имя поля. Во-вторых, можно указать индекс, о котором рассказывается в главе 11, «Настройка таблиц». Если Access затрудняется в интерпретации данных, активизируется список Тип данных, с помощью которого можно указать тип данных для поля. Выбор флажка Не импортировать (пропустить) поле приведет к отмене импорта определенного поля. Оставьте все параметры без изменений и щелкните на кнопке Далее.
  7. На данном этапе мастер намеревается помочь в определении первичного ключа. По умолчанию предполагается создание нового ключа автонумерации. Выберите переключатель Определить ключ, а затем, в раскрывающемся списке справа, опцию Имя. Затем щелкните на кнопке Далее (информация о первичных ключах содержится в главе 4, «Планирование базы данных»).
  8. В последнем окне присвойте новой таблице имя. Таблица Каталоги уже существует, поэтому введите имя КаталогиИзЕхсеl и щелкните на кнопке Готово. На экране появится сообщение об импорте электронной таблицы. Щелкните на кнопке ОК.
  9. В окне Растения: база данных найдите новую таблицу и откройте ее. Таблица с импортированными данными показана на рис. 16.3. Она очень похожа на исходную таблицу Каталоги – у них даже общий первичный ключ. Данные в процессе выполнения операций экспорта-импорта практически не изменились.


Рис. 16.3. Мастер создал новую таблицу и скопировал в нее данные из таблицы Excel

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

Уроки MS Excel

Excel для новичков нередко кажется какой-то неподъемной программой. Ведь там столько функций, что непонятно

Прочее

В этой короткой статье я покажу вам, как быстро удалить все нежелательные гиперссылки с

Текстовые функции в Excel

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

Диаграммы и графика

Некоторые советы, хитрости и приёмы для создания замечательных диаграмм в Microsoft Excel. По своей

Уроки MS Excel

Ячейки, строки, столбцы Примеры диапазона Заполнение диапазона Перемещение диапазона Копировать/вставить диапазон Вставка строки, столбца

Уроки MS Excel

Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают

Уроки MS Excel

F1 | F2 | F3 | F4 | F5 | F6 | F7 |

Уроки MS Excel

Представьте, что Вы оформили все заголовки строк и столбцов, ввели все данные на рабочий

Подсчет и суммирование

В этом уроке Вы увидите, как при помощи Excel быстро вычислить проценты, познакомитесь с

Уроки MS Excel

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

Диаграммы и графика

Мысль о том, что в отчетах и презентациях можно использовать небрежные (а порой ужасные)

Встречаются ситуации, когда от программы VBA требуется совершить несколько раз подряд один и тот

Данный учебник является введением в язык программирования Excel VBA (Visual Basic for Applications). Изучив

Самоучитель по работе в Excel для чайников позволит Вам легко понять и усвоить базовые

Прочее

Excel содержит множество мощных инструментов для выполнения сложных математических вычислений, например, Анализ “что если”.

Прочее

Из этой статьи Вы узнаете 2 быстрых способа удалить лишние пробелы между словами или

Как в Access на VBA импортировать данные в базу Microsoft SQL Server? | Info-Comp.ru

Очень часто у программистов и пользователей, у которых реализовано приложение в связке клиент (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.

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

Допустим, у нас есть файл «file.xls» со следующими данными:

Pole1

Pole2

Pole3

Pole4

1

4

7

10

2

5

8

11

3

6

9

12

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

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

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

   
   CREATE TABLE [dbo].[testimport](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [col1] [int] NULL,
        [col2] [int] NULL,
        [col3] [int] NULL,
        [col4] [int] NULL,
        
   CONSTRAINT [PK_testimport] PRIMARY KEY CLUSTERED 
   (
        [id] ASC
   )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
   ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
   ) ON [PRIMARY]
   GO


Заметка! Если Вы не знаете, что делает вышеуказанная инструкция, рекомендую посмотреть мой видеокурс «T-SQL. Путь программиста от новичка к профессионалу. Уровень 1 – Новичок», который предназначен для начинающих. В нем подробно рассмотрены все базовые конструкции языка T-SQL.

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

Вы добавили кнопку, теперь в событие «Нажатие кнопки» добавьте следующий код:

   
   'Объявляем переменные
   Dim FileDialog As FileDialog
   Dim cnn As ADODB.Connection
   Dim rs  As ADODB.Recordset
   Dim rstProj As ADODB.Recordset
   Dim path  As String
   Dim counter As Integer
   Dim strSQL As String
   Dim strFile As String
   
   'создаем объект "Диалоговое окно выбора файла"
   Set FileDialog = Application.FileDialog(msoFileDialogOpen)
   'Убираем множественный выбор файлов, нам нужен только один
   FileDialog.AllowMultiSelect = False
   'очистим и установим новые фильтры
   FileDialog.Filters.Clear
   FileDialog.Filters.add "Excel и DBF", "*.xls, *.dbf"
   'зададим фильтр по умолчанию (с индексом 1 т.е. первый), можно и не писать,
   'но вдруг Вы заходите установить несколько фильтров
   FileDialog.FilterIndex = 1
   
   'проверяем, что сделал пользователь, выбрал файл или нет
   If FileDialog.Show = False Then
      'Если нет, то выходим
      Set dlgFile = Nothing
      Exit Sub
   End If
   'получаем путь к файлу
   path = Trim(FileDialog.SelectedItems(1))
   'очищаем переменную с объектом
   Set FileDialog = Nothing
  
   'проверяем, что за путь нам вернулся, если ничего не вернулось, то все пропускаем
   If path <> "" Then
    'Создаем подключение к источнику
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
    'Определим имя файла для запроса
    strFile = Mid(path, InStrRev(path, "\") + 1, Len(path) - InStrRev(path, "\") - 4)
    'Смотрим, что за файл выбрал пользователь
    'Если XLS то заходим сюда
    If UCase(path) Like "*.XLS" Then
      'Задаем путь к файлу
      cnn.Properties("Data Source") = path
      'Задаем тип файла
      cnn.Properties("Extended Properties") = "Excel 8.0"
      'Строка запроса
      strSQL = "select pole1, pole2, pole3, pole4  from [" + strFile + "$]"
    'Если DBF то сюда
    ElseIf UCase(path) Like "*.DBF" Then
      'Задаем путь к файлу
      cnn.Properties("Data Source") = Mid(path, 1, InStrRev(path, "\"))
      'Задаем тип файла
      cnn.Properties("Extended Properties") = "dBase IV"
      'Строка запроса
      strSQL = "select pole1, pole2, pole3, pole4  from  [" + strFile + "]"
    End If
   
   'устанавливаем подключение к источнику
   cnn.Open
   'создаем Recordset для данных из источника
   Set rs = New ADODB.Recordset
   'открываем и считываем данные из источника
   rs.Open strSQL, cnn
   'создаем Recordset для данных из базы
   Set rstProj = New ADODB.Recordset
   'Открываем данный Recordset
   rstProj.Open "dbo.testimport", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
   'переменная для подсчета количества импортируемых записей
   counter = 0
   
   'Запускаем цикл для переноса данных из источника в базу,
   'т.е. одна итерация цикла это одна строка в файле и базе данных
    While Not (rs.EOF)
      'присваиваем значения из столбца источника столбцу в базе данных
      With rstProj
        .AddNew
        .Fields("col1") = rs.Fields("pole1").Value
        .Fields("col2") = rs.Fields("pole2").Value
        .Fields("col3") = rs.Fields("pole3").Value
        .Fields("col4") = rs.Fields("pole4").Value
        .Update
        'Увеличиваем наш счетчик
       counter = counter + 1
      End With
      'читаем следующую строку
      rs.MoveNext
    Wend
    
   'закрываем подключение к базе MSSql
    rstProj.Close
    Set rstProj = Nothing
    'закрываем источник данных
    cnn.Close
    Set cnn = Nothing
    'Очистим Recordset
    Set rs = Nothing
    'и выведем на экран, сколько мы импортировали строк
    MsgBox counter
    
   End If


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

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

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

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

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

Создадим таблицу

   
   CREATE TABLE [dbo].[kartinki](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [Picture] [varbinary] (MAX)  ,
        
   CONSTRAINT [PK_kartinki] PRIMARY KEY CLUSTERED 
   (
        [id] ASC
   )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, 
   ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
   ) ON [PRIMARY]
   GO


На форму добавьте объект «Рисунок», первоначально придется выбрать любой рисунок для добавления данного объекта на форму, потом его можно очистить (я его назвал kartinka). Источник записей формы будет наша вновь созданная таблица. И, конечно же, кнопочку для добавления рисунка. Для кнопки в событии «Нажатие кнопки» вставьте следующий код:

   
   'Объявляем переменные
   Dim rs As Recordset
   Dim FileDialog  As FileDialog
   Dim path As String
   Set rstProj = New ADODB.Recordset
   'тоже что и в примере выше
   Set FileDialog = Application.FileDialog(msoFileDialogOpen)
   FileDialog.AllowMultiSelect = False
   FileDialog.Filters.Clear
   FileDialog.Filters.add "Картинки и рисунки", "*.jpg, *.gif, *.bmp, *.png"
   'Для разнообразия добавим еще один фильтр
   FileDialog.Filters.add "Все файлы", "*.*"
   FileDialog.FilterIndex = 1
   
   If FileDialog.Show = False Then
      Set FileDialog = Nothing
      Exit Sub
   End If

   path = Trim(FileDialog.SelectedItems(1))
   
   If path <> "" Then
      Set FileDialog = Nothing
      'присваиваем нашей картинке на форме выбранную картинку, т.е. задаем путь
      kartinka.Picture = path
      rstProj.Open "[dbo].[kartinki]", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
      Set rs = rstProj
      'создаем новую строку и переносим бинарные данные в нашу таблицу в базе
      rs.AddNew
      rs![Picture] = kartinka.PictureData
      rs.Update
      'все это дело закрываем
      rstProj.Close
      Set rstProj = Nothing
      Set rs = Nothing
      'пересчитаем данные на форме
      Me.Recalc
   End If


Для наглядности, чтобы увидеть, что Вы импортировали картинку в базу, на форме в событии «Текущая запись» вставьте следующий код:

   
   If Me.NewRecord Then
      kartinka.Picture = ""
   Else
      kartinka.PictureData = Me![Picture]
   End If


Теперь, где Вам нужно выводить картинку, например, в отчетах, Вы также создадите объект рисунок и в событии отчета «Открытие» будете присваивать значение свойства PictureData из базы данных и все. Например, вот так:

   
   Dim strSQL As String
   Set rs = New ADODB.Recordset
   strSQL = "select picture from dbo.kartinki"
   rs.Open strSQL, CurrentProject.Connection
   rez = CStr(rs.Fields(0))
   rs.Close
   Me.kartinka.PictureData = rez
   Set rs = Nothing


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

Смысл заключается в использовании свойства PictureData объекта «Рисунок», и таким способом у Вас будут без проблем отображаться картинки разных форматов, в отличие от распространенного ole объекта, для которого необходимо устанавливать специальные ole сервера для корректного отображения различных форматов файлов.

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

НравитсяНе нравится

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

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

Как я могу программно импортировать данные Excel в таблицу Access?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

  1. Авторизоваться зарегистрироваться
  2. Текущее сообщество

.

import — Как назначить внешние ключи в Access в импортированной таблице из Excel

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

  1. Авторизоваться зарегистрироваться
.

Подключиться к (импортировать) внешние данные

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

  1. На вкладке Data щелкните Existing Connections .Excel откроет диалоговое окно « Существующие подключения ».

    Примечание: Вы также можете открыть диалоговое окно Existing Connections из диалогового окна Change PivotTable Data Source . Дополнительные сведения об изменении источника данных для сводной таблицы см. В разделе Изменение исходных данных для сводной таблицы.

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

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

    • Чтобы отобразить только недавно использованный список подключений, щелкните Подключения в этой книге .

      Этот список создается из соединений, которые вы уже определили, которые вы создали с помощью диалогового окна Select Data Source Мастера подключения данных, или которые вы ранее выбрали в качестве подключения в этом диалоговом окне.

    • Чтобы отобразить только те подключения, которые доступны на вашем компьютере, щелкните Файлы подключений на этом компьютере .

      Этот список создается из папки Мои источники данных , которая обычно хранится в папке Мои документы на вашем компьютере.

    • Чтобы отобразить только подключения, которые доступны из файла подключения, доступного из сети, щелкните Файлы подключений в сети . Этот список создается из библиотеки подключений к данным Excel (DCL) на сайте Microsoft SharePoint Services.DCL — это библиотека документов на сайте SharePoint Services, содержащая набор файлов подключения к данным Office (ODC) (ODC). Обычно DCL настраивает администратор сайта, который также может настроить сайт SharePoint для отображения файлов ODC из этого DCL в диалоговом окне External Connections . Дополнительные сведения см. В справке центра администрирования SharePoint Services.

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

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

  3. Выберите нужное соединение и нажмите Открыть .

  4. В диалоговом окне Импорт данных в разделе Выберите, как вы хотите просматривать эти данные в своей книге. выполните одно из следующих действий:

    Важно: Выберите, как вы хотите просматривать эти данные в своей книге. Раздел и его параметры, как показано в следующем списке, недоступны для соединений с текстом, веб-запросами и данными XML.Если вы подключаетесь к таким данным, перейдите к шагу 5.

    • Чтобы создать таблицу для простой сортировки и фильтрации, щелкните Таблица .

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

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

    • Чтобы сохранить выбранное соединение в книге для дальнейшего использования, щелкните Только создать соединение .

      Используйте параметр Only Create Connection , чтобы сохранить выбранное соединение в книге для дальнейшего использования. Например, если вы подключаетесь к источнику данных куба Online Analytical Processing (OLAP) и намереваетесь преобразовать ячейки сводной таблицы в формулы рабочего листа с помощью команды Convert to Formulas (на вкладке Options , в Tools группы, щелкните Инструменты OLAP ), вы можете использовать эту опцию, потому что вам не нужно сохранять отчет сводной таблицы.

  5. Менее Куда вы хотите поместить данные? , выполните одно из следующих действий:

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

    • Или щелкните Свернуть диалоговое окно чтобы временно скрыть диалоговое окно, выберите начальную ячейку на листе и нажмите Развернуть диалоговое окно .

  6. Чтобы разместить отчет сводной таблицы на новом листе, начиная с ячейки A1, щелкните Новый лист .

  7. При желании вы можете изменить свойства соединения, щелкнув Свойства , затем внося изменения в диалоговые окна Свойства соединения , Диапазон внешних данных или Свойства карты XML , а затем нажав ОК .

  1. На вкладке Data в группе Get External Data щелкните Existing Connections .

  2. В диалоговом окне Существующие подключения в раскрывающемся списке Показать выполните одно из следующих действий:

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

    • Чтобы отобразить только недавно использованный список подключений, щелкните Подключения в этой книге .

      Этот список создается из соединений, которые вы уже определили, которые вы создали с помощью диалогового окна Select Data Source Мастера подключения к данным, или которые вы ранее выбрали в качестве подключения в этом диалоговом окне.

    • Чтобы отобразить только те подключения, которые доступны на вашем компьютере, щелкните Файлы подключений на этом компьютере .

      Этот список создается из папки Мои источники данных , которая обычно хранится в папке Мои документы .

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

      Этот список создан из библиотеки подключений к данным служб Excel (DCL) на сайте Microsoft Office SharePoint Server 2007. DCL — это библиотека документов на сайте Microsoft Office SharePoint Services 2007, которая содержит набор файлов подключения к данным Office (ODC) (.odc). Обычно DCL настраивает администратор сайта, который также может настроить сайт SharePoint для отображения файлов ODC из этого DCL в диалоговом окне External Connections . Дополнительные сведения см. В справке центра администрирования Office SharePoint Server 2007.

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

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

  3. Выберите нужное соединение и нажмите Открыть .

  4. В диалоговом окне Импорт данных в разделе Выберите, как вы хотите просматривать эти данные в своей книге. выполните одно из следующих действий:

    Важно: Выберите, как вы хотите просматривать эти данные в своей книге. Раздел и его параметры, как показано в следующем списке, недоступны для соединений с текстом, веб-запросами и данными XML.Если вы подключаетесь к таким данным, перейдите к шагу 5.

    • Чтобы создать таблицу для простой сортировки и фильтрации, щелкните Таблица .

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

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

    • Чтобы сохранить выбранное соединение в книге для дальнейшего использования, щелкните Только создать соединение .

      Используйте параметр Only Create Connection , чтобы сохранить выбранное соединение в книге для дальнейшего использования. Например, если вы подключаетесь к источнику данных куба Online Analytical Processing (OLAP) и намереваетесь преобразовать ячейки сводной таблицы в формулы рабочего листа с помощью команды Convert to Formulas (на вкладке Options , в Tools группы, щелкните Инструменты OLAP ), вы можете использовать эту опцию, потому что вам не нужно сохранять отчет сводной таблицы.

  5. Менее Куда вы хотите поместить данные? , выполните одно из следующих действий:

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

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

  6. Чтобы разместить отчет сводной таблицы на новом листе, начиная с ячейки A1, щелкните Новый лист .

  7. При желании вы можете изменить свойства соединения, щелкнув Свойства , внося изменения в диалоговые окна Свойства соединения , Диапазон внешних данных или Свойства карты XML , а затем нажав ОК .

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *