![]() |
|
Модераторы: Akina |
![]()
|
|
| BearEvg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2008 Репутация: нет Всего: нет |
Есть таблица "Продажи":
Код_покупателя (ключевое типа Счётчик); Название покупателя (текстовое); Область_покупателя (поле подстановки - связано с таблицей, где перечислены названия областей); Дата_операции (дата); Вид_товара (поле подстановки - связано с таблицей, где перечислены все виды товаров); Сумма_продажи (числовой) Нужно построить перекрёстный запрос, который будет выводить таблицу, где строками идут названия областей, а столбцами - названия товаров, а на пересечении строк и столбцов - количество покупателей данного товара из данной области, а затем - суммы продаж этого товара. Примерно вот так: Товар1 Товар2 Товар1 Товар2 Область (кол-во) (кол-во) (сумма) (сумма) Можно ли это сделать одним запросом (или объединить несколько перекрёстных запросов)? |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Можно и в одном перекресном запросе. Тогда нужно формировать уникальные имена колонок - Товар1_кол_во и т.п. При этом я думаю, что такой запрос не очень удобен, т.к. наименаний товаров может быть больше 4-х. И в запросе это просматривать не удобно.
Хорошо бы подошел бы экспорт в Excel или отчет с группировкой по области. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Мне непонятен смысл получения этих данных в одном перекрестном запросе. Можно получить их в двух перекрестных, а потом связать их во внешнем запросе между собой по полю области. Но дальше-то ты чего будешь делать? ведь наименования столбцов не заданы жестко, посему далее испорльзовать такое объединение представляется затруднительным. А вывалить данные на форму или в отчет можно и из двух запросов.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| BearEvg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2008 Репутация: нет Всего: нет |
Тут вот какое дело. Я хочу дать возможность пользователю частично конструировать отчёт самому.
Примерно так: Определить строки для группировки Определить поля, из которых будут формироваться столбцы Определить операции в столбцах (count, sum и т.п.) И получившийся результат выдать в форме в виде таблицы. В этом случае пользователю может понадобиться группировка более чем по одному виду столбцов. Получившуюся таблицу хочу дать возможность бросать в Excel, для дальнейшей обработки. |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Я бы сразу бы бросал бы этот отчет в Excel и только. Тут только программно эти данные и можно будет подготовить. Не стоит переносить максимум работы на запросы.
|
|||
|
||||
| BearEvg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2008 Репутация: нет Всего: нет |
Я сейчас пробую такой путь:
Создаю временную таблицу, где начальные значения строк заполняю значениями группировки (области, например, или что пользователь выбрал) Потом добавляю в эту таблицу новые пустые столбцы из тех, которые выбрал пользователь (например - товары) Создаю рекордсет по первому перекрёстному запросу и его данные переношу в таблицу Потом точно также добавляю данные второго запроса и т.п. Готовую таблицу вывожу в форме с правом доступа "Только чтение" И предлагаю возможность экспортировать в Excel, где пользователь может с ней разбираться по своему усмотрению. После закрытия отчётной формы таблицу удаляю. Это сообщение отредактировал(а) BearEvg - 9.10.2008, 19:11 |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Я бы формировал бы запросы и из них данные сразу же переносил в Excel. А там пускай пользователь сам думает, оно ему надо или нет.
|
|||
|
||||
| FINANSIST |
|
|||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
Можно узнать, к чему весь этот геморой??? Что функционал сводных таблиц не катит? А если уж в Excel грузить из базы, так можно ещё и OLAP - кубов налепить, вообще сказка! Это сообщение отредактировал(а) FINANSIST - 13.10.2008, 12:33 Присоединённый файл ( Кол-во скачиваний: 7 )
___________Microsoft_Office_Access.rar 23,43 Kb-------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
| BearEvg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.6.2008 Репутация: нет Всего: нет |
Проблема в том, что я не могу заранее прогнозировать, какие именно элементы и в каком количестве, и с каими группировками выберет пользователь. Вот и приходиться изобретать велосипед.
|
|||
|
||||
| FINANSIST |
|
|||
|
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
Я (как пользователь) открыл свой же запрос, и (как пользователь) выбрал из списка именно те аналитики, и расположил их в тех срезах, которые необходимы именно в данный момент мне (как пользователю). Велосипед уже давно изобретён, а если юзер тупой - то надо учить его пользоваться мышкой
( для особо тупых можно формировать срезы програмно, опять таки, ИМХО - для данного случая этот вариант намного оптимальнее, чем тренировки с перекрёстными запросами) -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
![]()
|
| Правила форума "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. |