|
Модераторы: Akina |
|
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
Здравствуйте,
Подскажите, пожалуйста, выполнимо ли такое: Есть запрос в Access, из этого запроса надо получить 100 значений по определенным условиям и внести их в определенные ячейки в excel. Как можно создать один рекордсет внести в него все значения из запроса и уже после этого разбрасывать значения в определенные ячейки. Спасибо. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
За каким фигом надо делать какие-то там фильтрации на результатах выполнения запроса, когда можно, модифицировав его текст, сразу получить то, что нужно?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
То что нужно получить, не удасться. В excel нужно выгружать данные за разные периоды, плюс данные, которые нужны, могут меняться, каждый раз создавать новые запросы в access, чтобы они выгружали нужные данные за разные периоды не хочется (да и толком не умею), поэтому в базе данных был создан один запрос из которого нужно выгрузить данные. На сегдоняшнем этапе это намного проще.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Если ты не умеешь, это не значит, что невозможно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
Понятно, что возможно, я имел в виду, трудозатраты будут несопоставимы. С базой данных access не все пользователи могут работать, поэтому, чтобы получить необходимые для себя данные они могут использовать excel. Есть шаблон excel и в него нужно из запроса выгружать данные.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Трудозатраты на что? На программирование? фигня, они одноразовые. На заполнение формы исходных данных и нажатие кнопки "Сформировать отчёт"? ничего, не перетрудятся. Причина? Аллергия? Религия? Access не установлен? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
Access не установлен. Может и фигня сделать запрос в access и по нему уже делать, но можно ли работать с recordset? Можно ли обратившись один раз к базе данных, выбрать из нее 100 значений? Например, загрузить в recordset данные из запроса и циклом эти данные выгрузить в ячейки? Спасибо.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Всё это - да, можно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
А подскажите, пожалуйста, как это можно сделать или где мне можно об этом прочитать, чтобы понять как это делается
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Давайте DDL таблиц (лишние для логики поля можно поскипать) и чёткую постановку задачи. Тогда будет предмет для разговора.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
Во вложении пример. В этом примере попытка выполнить задачу. Задача состоит в том, чтобы из базы access выбрать по определенным критериям значения и вставить их в определенные ячейки excel. Проблема состоит в том, что когда происходит отбор, то при выборе каждого значения макрос всегда обращается к базе данных. В базе данных большой запрос, состоящий из запросов, поэтому когда макрос его открывает это занимает время. Значений, какие нужны выбрать их около сотни, поэтому если всегда обращаться к базе данных, то выполнение запроса займет очень много времени. И задача состоит в том, чтобы один раз обратиться к базе данных, записать эти данные например в recordset и после этого циклом просто раскидать значения из recordset в нужные ячейки. Хочется понять как это можно сделать и можно ли это вообще сделать. Спасибо.
Присоединённый файл ( Кол-во скачиваний: 3 ) Test.zip 34,57 Kb |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Достаточно во встроенной справке Access почитать раздел по перекрёстным запросам. Собственно то, что программно формируется в Excel, и есть результат перекрёстного запроса. Соответственно можно просто сделать источником данных диапазона в Excel этот самый перекрёстный запрос - и даже импортировать ничего не нужно будет, не говоря уж о поячеечной обработке. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
Спасибо. Перекрестный запрос можно было бы использовать, но в нем в column heading можно указывать только одно значение, а в таблице, в которую нужно загрузить данные заголовков столбцов несколько. Например, Страна1 и это страна разделяется на Регион1, Регион2.. Страна2, разделается на Регион1, Регион2... И когда формируется перекрестный запрос, то данные идут по возрастанию, а в таблице эти данные идут по другой логике. Как выход наверное можно составить несколько перекрестных запросов и выгружать их по порядку, но не проще данные из запроса загрузить куда нибудь типа рекродсет и с ним уже работать?
|
|||
|
||||
NovPol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.2.2016 Репутация: нет Всего: нет |
И еще хотелось бы добавить, сейчас логика такая, что сначало должен идти регион3, потом регион 5, потом регион2.. Но со временем эта логика может поменяться и тогда, чтобы все верно отражалось, нужно будет менять и условия перекрестного запроса. Но во первых, не все пользователи работали с access, поэтому им что то поменять будет сложно,а во вторых доступа к access есть не у всех. А если выгружать в какой нибудь рекродсет, то пользователи, могут в excel, поменять названия заголовков как они захотят и у них все будет рабоать. Спасибо.
|
|||
|
||||
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |