Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти значения по условию в одном запросе, По одному запросу найти значения 
:(
    Опции темы
NovPol
Дата 26.2.2016, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



Здравствуйте, 

Подскажите, пожалуйста, выполнимо ли такое: Есть запрос в Access, из этого запроса надо получить 100 значений по определенным условиям и внести их в определенные ячейки в excel. Как можно создать один рекордсет внести в него все значения из запроса и уже после этого разбрасывать значения в определенные ячейки. Спасибо.
PM MAIL   Вверх
Akina
Дата 26.2.2016, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



За каким фигом надо делать какие-то там фильтрации на результатах выполнения  запроса, когда можно, модифицировав его текст, сразу получить то, что нужно?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 26.2.2016, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



То что нужно получить, не удасться. В excel нужно выгружать данные за разные периоды, плюс данные, которые нужны, могут меняться, каждый раз создавать новые запросы в access, чтобы они выгружали нужные данные за разные периоды не хочется (да и толком не умею), поэтому в базе данных был создан один запрос из которого нужно выгрузить данные. На сегдоняшнем этапе это намного проще.
PM MAIL   Вверх
Akina
Дата 26.2.2016, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(NovPol @  26.2.2016,  16:56 Найти цитируемый пост)
То что нужно получить, не удасться.

Если ты не умеешь, это не значит, что невозможно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 26.2.2016, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



Понятно, что возможно, я имел в виду, трудозатраты будут несопоставимы. С базой данных access не все пользователи могут работать, поэтому, чтобы получить необходимые для себя данные они могут использовать excel. Есть шаблон excel и в него нужно из запроса выгружать данные. 
PM MAIL   Вверх
Akina
Дата 26.2.2016, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(NovPol @  26.2.2016,  17:11 Найти цитируемый пост)
я имел в виду, трудозатраты будут несопоставимы

Трудозатраты на что? 
На программирование? фигня, они одноразовые.
На заполнение формы исходных данных и нажатие кнопки "Сформировать отчёт"? ничего, не перетрудятся.

Цитата(NovPol @  26.2.2016,  17:11 Найти цитируемый пост)
С базой данных access не все пользователи могут работать

Причина? Аллергия? Религия? Access не установлен?



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 26.2.2016, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



Access не установлен. Может и фигня сделать запрос в access и по нему уже делать, но можно ли работать с recordset? Можно ли обратившись один раз к базе данных, выбрать из нее 100 значений? Например, загрузить в recordset данные из запроса и циклом эти данные выгрузить в ячейки? Спасибо.
PM MAIL   Вверх
Akina
Дата 27.2.2016, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Всё это - да, можно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 27.2.2016, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



А подскажите, пожалуйста, как это можно сделать или где мне можно об этом прочитать, чтобы понять как это делается
PM MAIL   Вверх
Akina
Дата 29.2.2016, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Давайте DDL таблиц (лишние для логики поля можно поскипать) и чёткую постановку задачи. Тогда будет предмет для разговора.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 29.2.2016, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



Во вложении пример. В этом примере попытка выполнить задачу. Задача состоит в том, чтобы из базы access выбрать по определенным критериям значения и вставить их в определенные ячейки excel. Проблема состоит в том, что когда происходит отбор, то при выборе каждого значения макрос всегда обращается к базе данных. В базе данных большой запрос, состоящий из запросов, поэтому когда макрос его открывает это занимает время. Значений, какие нужны выбрать их около сотни, поэтому если всегда обращаться к базе данных, то выполнение запроса займет очень много времени. И задача состоит в том, чтобы один раз обратиться к базе данных, записать эти данные например в recordset и после этого циклом просто раскидать значения из recordset в нужные ячейки. Хочется понять как это можно сделать и можно ли это вообще сделать. Спасибо.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Test.zip 34,57 Kb
PM MAIL   Вверх
Akina
Дата 29.2.2016, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(NovPol @  29.2.2016,  11:20 Найти цитируемый пост)
Хочется понять как это можно сделать

Достаточно во встроенной справке Access почитать раздел по перекрёстным запросам. Собственно то, что программно формируется в Excel, и есть результат перекрёстного запроса. Соответственно можно просто сделать источником данных диапазона в Excel этот самый перекрёстный запрос - и даже импортировать ничего не нужно будет, не говоря уж о поячеечной обработке.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NovPol
Дата 29.2.2016, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



Спасибо. Перекрестный запрос можно было бы использовать, но в нем в column heading можно указывать только одно значение, а в таблице, в которую нужно загрузить данные заголовков столбцов несколько. Например, Страна1 и это страна разделяется на Регион1, Регион2.. Страна2, разделается на Регион1, Регион2... И когда формируется перекрестный запрос, то данные идут по возрастанию, а в таблице эти данные идут по другой логике. Как выход наверное можно составить несколько перекрестных запросов и выгружать их по порядку, но не проще данные из запроса загрузить куда нибудь типа рекродсет и с ним уже работать?
PM MAIL   Вверх
NovPol
Дата 29.2.2016, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.2.2016

Репутация: нет
Всего: нет



И еще хотелось бы добавить, сейчас логика такая, что сначало должен идти регион3, потом регион 5, потом регион2.. Но со временем эта логика может поменяться и тогда, чтобы все верно отражалось, нужно будет менять и условия перекрестного запроса. Но во первых, не все пользователи работали с access, поэтому им что то поменять будет сложно,а во вторых доступа к access есть не у всех. А если выгружать в какой нибудь рекродсет, то пользователи, могут в excel, поменять названия заголовков как они захотят и у них все будет рабоать. Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.1575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.