Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
управление данными.doc
Скачиваний:
46
Добавлен:
11.03.2015
Размер:
1.51 Mб
Скачать

Создание группы

Добавим на странице возможность группировки строк. Теперь на странице будет выводиться информация не только из запроса запросКлиентыФИО, но и из таблицы Заказы.

Для того чтобы создать простую страницу с группировкой данных, выполните следующие действия.

1. Откройте свою страницу доступа к данным в режиме конструктора.

  1. Создадим новый раздел группы. В окне Список полей выберите таблицу Заказы и перетаскивайте ее поле Дата правой кнопкой мыши под раздел Заголовок: запросКлиентыФИО. Когда это поле окажется между существующим разделом и панелью кнопок перехода по записям, появится новый раздел (рис. 4.6), после чего вы можете отпустить кнопку мыши.

  2. В появившемся меню выберите тип макета Табличный.

Рис. 10. 6. Поместите поле в появившийся новый раздел

  1. Такими действиями вы просите Access объединить запрос запросКлиентыФИО с таблицей Заказы. Поскольку конструктор страниц доступа к данным не знает, как связаны два эти источника, он попросит вас указать связующие поля. Вы должны будете сделать это в окне Мастер отношений (рис. 10.7).

Рис. 10.7. Выберите поля для создания объединения

  1. Выберите в каждом источнике поле код клиента. Закройте окно. В результате вы получите страницу с группировкой (Рис. 10.8), на которую Access добавит новый раздел для данных из таблицы Заказы.

Рис. 10.8. После добавления поля группировки на странице появится новый раздел

  1. Выбрав команду Вид Просмотр страницы вы сможете увидеть, как получившаяся страница будет выглядеть в браузере. Щелкните на кнопке «+», чтобы посмотреть представление заказов каждого клиента, затем снова вернитесь в режим конструктора.

  2. Сохраните страницу.

Рис. 10.9. Внешний вид страницы с группировкой

Добавление еще одного уровня группировки

Добавим на страницу третий уровень данных.

  1. Открыв страницу в режиме конструктора, найдите в окне Список полей запрос Заказано .

  2. Откройте список полей запроса и перетащите поле Товар в область, расположенную непосредственно над разделом Кнопки перехода: Заказы, отпустив кнопку мыши при появлении нового раздела. Выберите тип макета Табличный, а в окне мастера связей - поле для создания объединения (код заказа).

  3. Добавьте в раздел Заголовок: Заказано поля количество и цена.

  4. Чтобы на странице отображались все строки одновременно, укажите- для свойства DataPageSize значение Все.

  5. Если вы выводите сразу все строки группы, раздел с кнопками перехода по записям вам не нужен. Поэтому щелкните на стрелке в разделе заголовка группы (Заголовок: ЗапросЗаказано) и в открывшемся контекстном меню снимите флажок Record Navigation.

Страница готова. Посмотреть результат можно либо в Access, либо в Internet Explorer (рис. 10.10).

Рис.10.10. Так выглядит страница после добавления третьего уровня данных.

Формирование итоговых данных

После того как вы добавили на страницу сгруппированные строки заказов, можете ввести итоговые значения - вычислить суммы значений полей Количество и Цена и поместить их в последние строки каждого из заказов.

1. Снова перейдите в режим конструктора и откройте вашу страницу доступа к данным,

2. Нам нужно добавить раздел примечания для самого нижнего уровня группировки (qryGrderDetails), но к сожалению, сделать это невозможно. Чтобы бы обойти это ограничение, добавьте раздел примечания для среднего уровня группировки - Заказы. Щелкните на стрелке в разделе заголовка Заголовок: Заказы и в появившемся контекстном меню выберите команду Нижний колонтитул. На странице появится раздел Примечание: заказы.

  1. Из раздела Заголовок: запросЗаказано скопируйте поля Количество и Цена в раздел Примечание: заказы.

  2. Для скопированных элементов управления Access заменит значение свойства Control Source значением Группа_количество: количество (Группа_цена: цена), указывая тем самым, что это поля группировки. Свойству TotalType будет присвоено значение Sum.

  3. Результат должен получиться таким, как на рис. 10.11.

Рис. 10.11. Вид страницы после добавления итоговых полей