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

4.7.2.Запрос с параметром (параметрический запрос)

При исполнении параметрического запроса открывается диалоговое окно, в котором запрашивается ввод параметра. Пользователь может отобразить в этом окне свой текст - подсказку, например Введитегород. Чтобы эта подсказка появилась в окне для ввода параметра, надо ее написать,заключив в квадратные скобки, в соответствующей строке бланка запроса , Например, чтобы отобрать всех поставщиков из заданного города, надо в строкеУсловияотборадля полягородна бланке запроса написать [Введите город].

Пример 4. SQL - запрос с параметром

Вывести все сведения о поставщиках из заданного города. Город вводить в диалоге.

На QBE:

SELECT Поставщики.*

FROM Поставщики

WHERE ((Поставщики.город=[Введите город]));

При желании можно указать тип вводимого в диалоге параметра:

  • открыть окно Параметрызапроса:Запрос/Параметры

  • указать параметр Введитегороди его типТекстовый

Тогда в SQL-запросе появится оператор

PARAMETERS [Введите город] Text;

и SQL-запрос будет иметь вид:

PARAMETERS [Введите город] Text;

SELECT Поставщики.*

FROM Поставщики

WHERE ((Поставщики.город=[Введите город]));

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

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

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

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

  • преобразовать запрос на выборку в запрос на создание таблицы:

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

  • задать имя новой таблицы и указать ее местоположение (в текущей или другой БД).

Пример 5. Многотабличный SQL - запрос на создание таблицы

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

SELECT Поставки.номерп AS [номер поставщика], Постав- ки.номерд AS [номер детали], Детали.имяд AS [имя детали], Поставщи- ки.город INTO Новая

FROM Детали INNER JOIN (Поставщики INNER JOIN Поставки ON Поставщи- ки.номерп = Поставки.номерп) ON Детали.номерд = Поставки.номерд

WHERE ((Детали.имяд=[Введите имя детали]));

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

В результате исполнения этого запроса будет создана таблица

Новая(номерпоставщика,номердетали,имядетали,город).

4.7.4. Запросы на изменение данных

4.7.4.1. На добавление записей

а) Создание запроса на добавлениенесколькихзаписейиз другой таблицы:

  • создать запрос на выборку данных из таблицы-источника (откуда)

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

Запрос/Добавление

  • задать или выбрать из списка имя таблицы-приемника, в которую должны быть добавлены записи и указать ее местоположение (в текущей или другой БД).

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

б) СозданиеQBE-запроса на добавлениеоднойзаписи с конкретными значениями полей

  • открыть бланк запроса. Никаких таблиц в верхнюю часть бланка добавлять не нужно !

  • преобразовать запрос в запрос на добавление: Запрос/Добавление

  • задать или выбрать из списка имя таблицы-приемника, в которую должны быть добавлены записи и указать ее местоположение (в текущей или другой БД).

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

  • в строке Полеуказать для каждого поля вводимые значения в виде:псевдоним : значение. В качестве псевдонима можно указать имя поля или любое другое произвольное имя. Одинаковые имена недопустимы.

Пример 6. Добавить в таблицуДеталиновую деталь с номером 15, именемроликпо цене300. Тогда в строкеДобавлениебланка запроса нужно указать имена полейномерд,имядицена, а в строкеПолебланка запроса можно указатьа: 15для поляномерд,б:“ролик”для поляимяди150для поляцена. Здесьа,бис- псевдонимы. СоответствующийSQL-запрос:

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