Перекрестный запрос. Задание. Создайте Перекрестный запрос к таблице Оплата коммунальных услуг для получения записей, содержащих сведения итоговых платежей за месяц по всем видам
Задание. Создайте Перекрестный запрос к таблице Оплата коммунальных услуг для получения записей, содержащих сведения итоговых платежей за месяц по всем видам коммунальных услуг и по всем районам города. Сохраните запрос с именем Перекрестный запрос. 1. В окне базы данных Коммунальные платежи щелкните по вкладке Запросы. 2. Щелкните на кнопке Создайте. 3. В диалоговом окне Новый запрос выберите опцию Перекрестный запрос и щелкните на кнопке ОК. Появится окно Создание перекрестных таблиц (Рис. 141).
Рис. 141. Создание перекрестных таблиц
4. Выберите таблицу Оплата коммунальных услуг и щелкните по кнопе Далее. 5. В следующем окне Создание перекрестных таблиц выберите поле Район, которое будет использовано в качестве заголовков строк в результирующей таблице, и щелкните на кнопке >, затем щелкните на кнопке Далее (Рис. 142).
Рис. 142. Выбор заголовков строк
6. В следующем окне Создание перекрестных таблиц выберите поле Услуги, которое будет использовано в качестве заголовков столбцов в результирующей таблице, затем щелкните на кнопке Далее. 7. В следующем окне выберите поле Сумма с учетом пени и функцию Сумма, которая будет использована в качестве вычислений суммы значений поля Сумма с учетом пени. Установите опцию Да для вычисления итоговых значений для каждой строки (Рис. 143), затем щелкните на кнопке Далее.
Рис. 143. Шаг выбора функции для итоговых вычислений
8. В следующем окне введите имя запроса - Перекрестный запрос и щелкните на кнопке Готово. 9. Появиться итоговая таблица, в которой точность вычислений очень высока:
Рис. 144. Результат перекрестного запроса
10. Для установления 2-х знаков после запятой в результирующей таблице перейдите в Режиме конструктора. 11. Установите курсор в строке Перекрестная таблица в вычисляемых полях: Сумма с учетом пени и Итоговое значение. 12. По очереди нажмите правую кнопку мыши и выберите в раскрывшемся списке пункт Свойства. Установите Формат – фиксированный, Число десятичных знаков – 2. 13. Закройте конструктор и повторите еще раз запрос.
Создание связи между таблицами
Задание. Установите связи таблицы Оплата коммунальных услуг по полю Услуги с таблицей Организации ПТО по полю Вид услуг. Данная связь будет относиться к типу " Один ко многим ", т.к. несколько записей таблицы Оплата коммунальных услуг будут связаны с одной записью таблицы Организации ПТО. 1. Откройте обе таблицы в режиме конструктора. 2. Проверьте, чтобы в таблице Оплата коммунальных услуг (Рис. 145) для поля Услуги в позиции Индексированное поле стоял параметр – Да (допускаются совпадения)
Рис. 145. Проверка свойств поля Услуги
3. Аналогично проверьте, чтобы в таблице Организации ПТО для поля Вид услуг в позиции Индексированное поле стоял параметр - Да (совпадения не допускаются). 4. Выполните команду Сервис - Схема данных или щелкните на кнопке 5. Выберите из диалогового окна Добавление таблицы обе таблицы и щелкните на кнопке Добавить. После добавления таблиц закройте окно. 6. В окне Схема данных появились схемы двух таблиц. Выделите поле Услуги в таблице Оплата коммунальных услуг и перетащить его на поле Вид услуг таблицы Организации ПТО MS ACCESS при этом вызовет диалоговое окно Связи. 7. В этом окне установите опции (Рис. 146): · Обеспечение целостности данных; · каскадное обновление связанных полей; · каскадное удаление связанных записей;
Рис. 146. Параметры связи таблиц
8. Щелкните на кнопке Создать. MS ACCESS закроет диалоговое окно и нарисует линию, соединяющую таблицы. 9. Сохраните связь, щелкнув на кнопке Сохранить и закройте окно.
Примечание. Проблемы при установлении связи возникают в том случае, если данные связываемых полей в этих таблицах не совпадают по значению. Например, в одной таблице вы написали «кв.м.» без пробела, а в другой таблице написали «кв. м» с пробелом или без точки и т.д. Т.е. данные в двух таблицах должны быть абсолютно одинаковыми! Если у вас возникло сообщение:
Рис. 147. Ошибка связывания полей
Следовательно, вы ввели неправильно данные. Проверьте обе таблицы, чтобы данные везде были введены одинаково.
|