Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Использовать данные Access в Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Использовать данные Access в Excel
ОлеггелО Дата: Воскресенье, 05.03.2017, 15:00 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 129
Репутация: 20 ±
Замечаний: 0% ±

Здравствуйте! Скажите, есть ли способ (и какой) взять данные из БД Access и использовать их в Excel без предварительной выгрузки на лист, например для диаграммы (как в файле-примере). Нужно даже не решение данного конкретного вопроса (это просто пример), а общая, но конкретная информация, что бы я узнал в какую сторону искать решение. В примере есть БД, и файл с макросом, который строит диаграмму по данным из БД.
БД только в архиве подошла по размеру.
К сообщению приложен файл: 1240018.xlsm (34.2 Kb) · 7979810.rar (18.7 Kb)
 
Ответить
СообщениеЗдравствуйте! Скажите, есть ли способ (и какой) взять данные из БД Access и использовать их в Excel без предварительной выгрузки на лист, например для диаграммы (как в файле-примере). Нужно даже не решение данного конкретного вопроса (это просто пример), а общая, но конкретная информация, что бы я узнал в какую сторону искать решение. В примере есть БД, и файл с макросом, который строит диаграмму по данным из БД.
БД только в архиве подошла по размеру.

Автор - ОлеггелО
Дата добавления - 05.03.2017 в 15:00
Gustav Дата: Понедельник, 06.03.2017, 13:29 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Цитата ОлеггелО, 05.03.2017 в 15:00, в сообщении № 1 ()
взять данные из БД Access и использовать их в Excel без предварительной выгрузки на лист

Вы получаете данные из Access в виде набора записей (объекта DAO.Recordset):
[vba]
Код
Set tabl = dbs.OpenRecordset(s_SQL) 'записал в tabl информацию, полученную запросом
[/vba]
Этот рекордсет - это объект в памяти, с которым в памяти же, без выгрузки на лист, можно при помощи соответствующих библиотек (DAO или ADO) выполнять различные манипуляции: перебирать записи, сортировать их, фильтровать и т.п.
Цитата ОлеггелО, 05.03.2017 в 15:00, в сообщении № 1 ()
например для диаграммы (как в файле-примере).

А вот, "например, для диаграммы" как раз, увы, не получится. Там в качестве источника данных надо указать объект Range, который как известно существует только на рабочем листе. Если бы достаточно было указать массив значений (т.е. Range.Value), то тогда можно было бы сформировать такой массив из данных рекордсета и подсунуть его диаграмме в качестве источника, но она, к сожалению, кушает только Range...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата ОлеггелО, 05.03.2017 в 15:00, в сообщении № 1 ()
взять данные из БД Access и использовать их в Excel без предварительной выгрузки на лист

Вы получаете данные из Access в виде набора записей (объекта DAO.Recordset):
[vba]
Код
Set tabl = dbs.OpenRecordset(s_SQL) 'записал в tabl информацию, полученную запросом
[/vba]
Этот рекордсет - это объект в памяти, с которым в памяти же, без выгрузки на лист, можно при помощи соответствующих библиотек (DAO или ADO) выполнять различные манипуляции: перебирать записи, сортировать их, фильтровать и т.п.
Цитата ОлеггелО, 05.03.2017 в 15:00, в сообщении № 1 ()
например для диаграммы (как в файле-примере).

А вот, "например, для диаграммы" как раз, увы, не получится. Там в качестве источника данных надо указать объект Range, который как известно существует только на рабочем листе. Если бы достаточно было указать массив значений (т.е. Range.Value), то тогда можно было бы сформировать такой массив из данных рекордсета и подсунуть его диаграмме в качестве источника, но она, к сожалению, кушает только Range...

Автор - Gustav
Дата добавления - 06.03.2017 в 13:29
ОлеггелО Дата: Понедельник, 06.03.2017, 16:38 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 129
Репутация: 20 ±
Замечаний: 0% ±

Gustav, спасибо! Сегодня только понял, что с диаграммой пример возможно неудачный - Вы подтвердили мои сомнения.
данные из Access в виде набора записей (объекта DAO.Recordset)

рекордсет - это объект в памяти, с которым в памяти же, без выгрузки на лист, можно при помощи соответствующих библиотек (DAO или ADO) выполнять различные манипуляции: перебирать записи, сортировать их, фильтровать и т.п.

Вот это - то что мне нужно было! Дальше я сам. Спасибо!
 
Ответить
СообщениеGustav, спасибо! Сегодня только понял, что с диаграммой пример возможно неудачный - Вы подтвердили мои сомнения.
данные из Access в виде набора записей (объекта DAO.Recordset)

рекордсет - это объект в памяти, с которым в памяти же, без выгрузки на лист, можно при помощи соответствующих библиотек (DAO или ADO) выполнять различные манипуляции: перебирать записи, сортировать их, фильтровать и т.п.

Вот это - то что мне нужно было! Дальше я сам. Спасибо!

Автор - ОлеггелО
Дата добавления - 06.03.2017 в 16:38
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!