|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - Группировка по выражению |
|
|
2010 - Группировка по выражению
|
Пользователь Сообщения: 107 |
Здравствуйте, нужна помощь по созданию отчёта в MS Access 2010. Идея очень простая есть таблица клиенты и покупки, и надо группировать клиентов по количеству покупок (группировка по выражению). Например, 5 покупок клиент 1., 5., 6., и.т.д. Как это сделать? Спасибо.
|
|
Отправлено: 23:31, 23-03-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать veter48, суть, как я понимаю, сводится не к отчёту, а к построению правильного запроса.
На примере идущей в поставке базы данных «Борей» (я не знаю, включена ли она в поставку Office 2010, у меня — Office 2003; потому буду приводить скриншоты) требуемый запрос вида «Клиенты-Заказы» будет выглядеть примерно так: ![]() что соответствует запросу: SELECT Клиенты.Название AS Клиент, Count(Заказы.КодЗаказа) AS [Количество заказов] FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента = Заказы.КодКлиента GROUP BY Клиенты.Название ORDER BY Count(Заказы.КодЗаказа) DESC; ![]() Оно? |
Отправлено: 00:14, 24-03-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Ну как сделать запрос я знаю. Меня интересует именно отчет мне надо сделать такой отчет:
1 покупка клиент клиент клиент 2 покупки клиент клиент клиент 3 покупки клиент клиент клиент Надо группировать клиентов по Count() |
Отправлено: 11:49, 24-03-2012 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата veter48:
![]() После того, как отчёт будет открыт в конструкторе отчётов, Вам нужно будет добавить группировку по полю «Количество заказов» (из предыдущего примера): ![]() (как это сделать — для Вашей версии смотрите здесь: Общие сведения об отчетах - Access - Office.com: Добавление группировки, сортировки и итогов). Не забудьте в этом же окне указать создание в отчёте раздела заголовка для указанной группы (нижний красный овал на скриншоте). После этого осталось лишь добавить в отчёт в нужные разделы потребные поля и добавить «шашечки» в виде оформления: ![]() В итоге Вы должны получить примерно такой вид отчёта: ![]() Естественно, можно не создавать отдельный запрос, а использовать его текст в свойстве «Источник записей» самого отчёта. |
|
Отправлено: 12:57, 24-03-2012 | #4 |
Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Цитата:
|
||
Отправлено: 18:29, 24-03-2012 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата veter48:
|
|
Отправлено: 18:44, 24-03-2012 | #6 |
Пользователь Сообщения: 107
|
Профиль | Отправить PM | Цитировать Спасибо, с этим я разобрался. Теперь есть следующий вопрос. Я хочу, чтоб под каждым клиентом показывались даты покупок, я создал text box и в contorl source пишу запрос:
([ClientIDtxt] text box где хранится ИД пользователя) Но выкидывают ошибку. |
Отправлено: 20:16, 24-03-2012 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата veter48:
Цитата veter48:
Вам потребуется создать Отчёт/Форму и вставить его в область данных текущего отчёта как элемент управления «Подчинённый отчёт/форма», связав его с данными текущего отчёта по нужному полю. Итак, первым делом нам нужно изменить исходный запрос так, чтобы он включал поле будущей связи «КодКлиента» из таблицы «Клиенты»: Затем мы создаём подчинённый отчёт в текущем отчёте при помощи элемента управления «Подчинённый отчёт/форма», вставляя его в область данных: Проходя по страницам Мастера, мы указываем следующее: На соответствующем шаге Мастера указываем поля для связи текущего отчёта и подчинённого отчёта (мы ведь уже поправили запрос, не так ли?) Не забываем задать в свойствах полученного элемента управления «Подчинённый отчёт» свойство «Расширение» равным «Да»: После этого сохраняем и закрываем текущий отчёт, открываем подчинённый отчёт в Конструкторе отчётов и приводим его к следующему виду: оставляя единственное поле «ДатаИсполнения» в области данных. Всё прочее удаляем, сохраняем и закрываем отчёт. Готово! |
||
Отправлено: 04:48, 25-03-2012 | #8 |
Модератор Сообщения: 16848
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 11:59, 25-03-2012 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать okshef, спасибо, ясно.
Оно: Download: Access 2000 Tutorial: Northwind Traders Sample Database - Microsoft Download Center - Download Details |
Последний раз редактировалось Iska, 25-03-2012 в 19:54. Причина: Зачёркнута последняя ссылка Отправлено: 19:50, 25-03-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - группировка окон | fngidiotdonk | Microsoft Windows 7 | 0 | 18-01-2011 22:25 | |
Интерфейс - Сбрасывается группировка в папках | V1P3RS | Microsoft Windows 7 | 5 | 15-09-2010 18:15 | |
[решено] Вопрос по регулярному выражению в preg_split (PHP) | ANR | Вебмастеру | 1 | 01-09-2010 14:58 | |
Разное - Группировка строк в экселе | pva | Программирование и базы данных | 6 | 16-04-2009 12:41 | |
MySQL - индекс по выражению. | 3kLiN | Программирование и базы данных | 10 | 23-12-2007 01:00 |
|