Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
466
Добавлен:
02.04.2015
Размер:
3.64 Mб
Скачать
      1. Запросы на обновление полей записей

Запрос 12. Запрос на обновление (корректировку) полей записи.

Создание запроса:

  • создать запрос на выборку данных;

  • преобразовать запрос на выборку в запрос на обновление данных кнопкой ;

На бланке запроса появится строкаОбновление, в которой нужно указать новое значение обновляемого поля. Так, заменить ролик на гайку (обновить поле DIM в таблице DN) можно запросом, показанным на рисунке 45.

Рисунок 45 – Запрос на обновление одного поля

Соответствующий SQL-запрос:

UPDATE Det

SET Det.DIM = "гайка"

WHERE (((Det.DIM)="ролик"));

Можно в одном запросе обновлять несколько поле одной и той же таблицы.

Пусть поставщик Кузнецов переехал из Владивостока в Москву. Поскольку статус поставщика связан с городом, то у Кузнецова надо город Владивосток заменить на Москву, и статус заменить на 80. Соответствующий QBE-запрос представлен на рисунке 46.

Рисунок 46 – Запрос на обновление нескольких полей

Соответствующий SQL-запрос:

UPDATE Post

SET Post.ST = 80, Post.GOR = "Москва"

WHERE (((Post.PIM)="Кузнецов"));

При обновлении можно использовать выражения над полями. Подорожание всех гаек на 20 рублей можно реализовать запросом, представленным на рисунке 47.

Рисунок 47 – Запрос на обновление цены для гаек

Отметим, что выражение над полем [Det]![CENA]+20 желательно сформировать с помощью построителя выражений.

Соответствующий SQL-запрос:

UPDATE Det

SET Det.CENA = [Det]![CENA]+20

WHERE (((Det.DIM)="гайка"));

      1. Перекрестные запросы

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

На рисунке 49 представлен QBE-запрос, в котором в строках отображаются имена деталей, в столбцах – города, из которых эти детали поставляются, а на пересечении строк и столбцов – суммарное количество поставляемых деталей. Для создания такого запроса надо выполнить следующую цепочку действий:

  • сначала создать запрос на выборку данных из трех таблиц, как показано на рисунке 48;

  • затем преобразовать с помощью кнопки (на ленте в разделетип запроса) в перекрестный запрос; при этом появятся в нижней части бланка две дополнительные строки: Групповая операция и Перекрестная таблица, в которых надо сделать установки (выбором из списков), как на рисунке 49.

Рисунок 48 – Выборка для перекрестного запроса

Рисунок 49 – Перекрестный запрос

В ответе получим перекрестную таблицу.

Соответствующий SQL-запрос:

TRANSFORM Sum(PD.KOL) AS [Sum-KOL]

SELECT Det.DIM

FROM Post INNER JOIN (Det INNER JOIN PD ON Det.DN=PD.DN)

ON Post.PN=PD.PN

GROUP BY Det.DIM

PIVOT Post.PIM;

      1. Вложенные запросы

Запрос 14. Вложенные запросы

Смотри методичку Основы JET-SQL в электронном варианте.

    1. Sql-запросы

Смотри методичку Основы JET-SQL в электронном варианте.

Соседние файлы в папке Материалы для лабораторных Базы данных