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

Поиск записей, не имеющих подчиненных

Такой запрос позволяет найти в таблице записи, у которых нет записей в подчинённой таблице.

Пример 16. Получить сведения о предприятиях, которые не произвели оплату.

Удалить из таблицы ПЛАТЕЖИ две записи, которые относятся к предприятию с кодом 103 (Север). Таким образом, данное предприятие не производило выплат. Создать запрос, с помощью которого можно определить неплательщика.

Запрос строим на таблицах ПРЕДПРИЯТИЯ и ПЛАТЕЖИ, последовательно выполняя следующие действия:

  • запустим Мастер запросов

  • в открывшемся окне выберем из списка «Записи без подчинённых», нажать ОК;

  • В окне «Поиск записей, не имеющих подчинённых» выбрать таблицу ПРЕДПРИЯТИЯ, нажать Далее;

  • В следующем окне выбрать таблицу ПЛАТЕЖИ, Далее.

  • В следующем окне щёлкнуть по кнопке , затем Далее.

  • Выбрать поля: Код предприятия и Наименование предприятия, для чего нажать кнопку , а затем - Далее.

  • Нажать Готово.

  • Запрос автоматически получит имя ‘ПРЕДПРИЯТИЯ’ без подчинённых ‘ПЛАТЕЖИ’. В результате получим :

Примечание: восстановить удалённые записи в таблице ПЛАТЕЖИ и СПЕЦИФИКАЦИЯ ПЛАТЕЖЕЙ.

Вычисления нарастающим итогом

Пример 17. Используя сведения о платежах, получить общую оплату по каждому предприятию нарастающим итогом от начала года.

Сначала дополним базу данных таблицей КАЛЕНДАРЬ, где МЕСЯЦА - ключевое текстовое поле и НАИМЕНОВАНИЕ МЕС - текстовое поле.

МЕСЯЦА

НАИМЕНОВАНИЕ МЕСЯЦА

01

Январь

02

Февраль

03

Март

04

Апрель


Количество месяцев в календаре зависит от того периода, на который вычисляются нарастающие итоги.

Рассмотрим решение задачи по шагам.

Шаг 1. На основе таблиц ПЛАТЕЖИ и СПЕЦИФИКАЦИЯ ПЛАТЕЖЕЙ создадим запрос, в котором преобразуем дату в месяц (числовой) и вычислим суммы выплат каждого предприятия по месяцам.

В результате выполнения запроса получим:

Сохраним запрос под именем Суммы выплат по месяцам.

Шаг 2. На основе предыдущего запроса и таблицы календарь создадим запрос, в котором получим суммы нарастающим итогом.

Объекты не связывать!

Группировка выполняется по предприятиям, а затем по месяцам. В этих группах суммируются Sum-Cумма. Суммируются суммы оплаты при условии, что месяц оплаты <= (меньше или равен) месяцу календаря, то есть в пределах календаря.

При выполнении запроса получим:

Назвать запрос Нарастающие суммы.

Шаг 3. Если сумма в каждом следующем месяце не меняется, то получить итоги по последнему месяцу, в котором произошли изменения. Для этого использовать функцию Min для месяца. Запрос строим на основе предыдущего запроса.

Выполнить запрос:

Присвоить запросу имя Нарастающий итог.

Запрос на создание таблицы

Такой запрос создаёт новую таблицу на основе другой таблицы или запроса. Он необходим в том случае, когда надо сохранить, например, результаты запроса или когда невозможно построить запрос непосредственно на другом запросе.

Пример 18. Создать запрос на основе таблицы ПЛАН, подсчитать по каждому предприятию общую сумму налогов. Результаты запроса использовать для создания таблицы.

Последовательность действий:

  • сформировать обычный запрос в режиме конструктора;

  • на панели Тип запроса выбрать Создание таблицы ;

  • Откроется окно, в котором следует задать имя таблицы ТАБЛ-ПЛАН.

  • Просмотреть результаты запроса кнопкой Режим на панели инструментов. Вернуться в режим конструктора и запустить запрос на выполнение. Появится окно:

Подтвердить создание новой таблицы.

  • Закрыть окно конструктора запроса. Сохранить запрос под именем Запрос для табл-план. В списке запросов этот запрос будет иметь характерный значок .

  • В списке таблиц появится таблица с именем ТАБЛ-ПЛАН. Просмотрите её.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]