Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6371

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
775.75 Кб
Скачать

60

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

В литературе приводятся примеры, когда параметр используется для выбора записей по полному соответствию значения поля. Например,

чтобы сразу выбрать туры определенного вида отдыха, надо задать усло-

вие на его выборку и при открытии запроса ввести "пляжный", "экскурси-

онный" или другое требуемое значение. Подобное использование данной возможности нерационально. Тот же результат можно быстро достичь, ис-

пользуя фильтр. В то же время для ввода нужного значения показателя на-

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

Более удачный пример приведен в [7]. В определенном запросе пе-

риодически изменяется некоторое числовое значение одного из полей, на-

пример, требование клиента к максимальной стоимости тура. В этом слу-

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

производится выборка тура и запрос закрывается до прихода следующего клиента.

При создании запроса с параметрами в режиме конструктора в строку "Условия отбора" вводится произвольный текст, заключенный в квадратные скобки. Этот текст является подсказкой, которая становится заголовком диалогового окна для ввода значения параметра.

Задание 3.5. Создать запрос на выбор пляжного тура в азиатскую страну, для которого ограничениями являются минимальное и максималь-

ное число дней и стоимость.

Порядок действий.

1.Открыть запрос "АзиатскийПляж2" в режиме конструктора.

2.Дать команду "Файл" – " Сохранить как…" ( в Access-2007 с по-

мощью кнопки Office) и сохранить запрос под именем "Параметры".

61

3. В поле "Стоимость" вместо <=1500 написать <=[введите макси-

мальную стоимость тура]. Выполнить запрос (для контроля). Вернуться в режим конструктора.

4. В поле "Продолжительность" заменить числа подсказками для ввода параметров. Вместо 7 написать [введите минимальную продолжи-

тельность тура], а вместо 12 написать [введите максимальную продолжи-

тельность тура]. В результате запись в поле "Продолжительность" должна принять следующий вид:

Between [введите минимальную продолжительность тура] And [вве-

дите максимальную тура].

5. Выполнить запрос. Далее закрыть его с сохранением.

3.6. Запросы на обновление (замену) и на удаление

При помощи запроса на обновление можно автоматически изме-

нить значение определенного показателя сразу во всей активной БД. При условии задания характеристики связи "Обеспечение целостности данных"

подобное изменение произойдет как в исходной таблице, так и в связан-

ной, а также в таблице (при ее наличии), для которой эта связанная являет-

ся исходной.

Задание. Поменять название одной из туристских фирм.

Порядок действий.

1. Дать команду "Создание запроса в режиме конструктора" (в Access-2007 – вкладка "Создание", группа "Другие", кнопка "Конструктор запросов").

2.В окне "Добавление таблиц" выбрать таблицу "Фирма".

3.Ввести в панель запроса поле "НазваниеФирмы".

4.Дать команду "Запрос" – " Обновление" (через главное меню или используя кнопку "Тип запроса" на панели инструментов). В Access-2007

62

команда "Обновление" находится в группе "Тип запроса" вкладки "Конст-

руктор. Работа с запросами".

5.В строке "Условие отбора" в панели запроса ввести с клавиатуры название одной из туристских фирм, присутствующее в таблице "Фирмы".

Встроку "Обновление" ввести новое название туристской фирмы.

6.Выполнить запрос. Сохранить его под именем "Обновление". По-

сле выполнения для проверки выполненного действия открыть запрос "Ту-

рыСведения".

Аналогично выполняется запрос на удаление одной или нескольких записей, только вместо запроса на обновление выбирается запрос на уда-

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

"Обеспечение целостности данных", "Каскадное обновление связанных полей" и "Каскадное удаление связанных полей" (см. раздел 2.5), то изме-

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

3.7. Запросы с выполнением арифметических расчетов

Запросы позволяют выполнять арифметические действия, членами которых могут быть как числа, так и значения из выбранных вычисляемых полей (имеющих тип данных, с которым можно проводить вычисления).

Для расчетов, а также выполнения других операций, необходимо составле-

ние выражений. В текст выражения могут входить следующие элементы. 1. Имена полей с указанием исходного компонента БД, к которому

относится определенное поле. Они выводятся в квадратных скобках, на-

пример [Валюта]![Курс]. Первым выводится имя таблицы, за ним, после восклицательного знака, имя поля.

2. Константы – постоянные элементы выражения. Текстовые кон-

станты заключаются в кавычки. Даты ограничиваются спереди и сзади

63

значком #, например, #01.01.08#. Числовые константы воспринимаются программой без ввода дополнительных кодов.

3. Операторы – знаки выполнения определенных действий, напри-

мер арифметических (сложение, вычитание и др.) или сравнения (больше-

меньше) – и функции. Последние с точки зрения использования в БД мож-

но рассматривать тоже как команды на совершение определенных дейст-

вий с заданными аргументами. По терминологии, принятой в информати-

ке, функции "возвращают значения" для задаваемых значений аргументов.

Теоретически можно ввести выражение в конструктор запроса с клавиатуры. На практике лучше этим не заниматься, а использовать по-

строитель выражений. Окно "Построитель выражений" открывается после щелчка правой кнопкой мыши на ячейке панели запроса в окне "Конструк-

тор запросов". Оно имеет вид, приведенный на рис. 5.

Для ввода в выражение имени поля надо выбрать в левом нижнем окне папку нужных компонентов БД, в ней выбрать нужный компонент,

далее в центральном нижнем окне выбрать из списка нужное поле и дваж-

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

строителя выражений.

Задание А. Рассчитать стоимости туров в рублях с учетом текущего курса валют.

Стоимость в рублях равна стоимости тура в валюте, умноженной на курс валюты.

Порядок действий.

1. Открыть запрос "ТурыСведения" в режиме конструктора. Сохра-

нить его под именем "РасчетЦеныРуб".

2. В панели запроса поставить курсор в верхнюю ячейку пустого поля справа от ранее введенных полей. Нажать правую кнопку мыши и в быстром меню выбрать "Построить".

64

65

3. В левом нижнем окошке построителя выражений открыть папку "Таб-

лицы", затем открыть папку "Туры". Дважды щелкнуть на "Стоимость",

после чего в области ввода выражения появится имя названного поля и имя таблицы, в которой оно находится. Далее ввести знак умножения (*) с

клавиатуры или щелчком мыши на соответствующей кнопке для ввода операторов. Затем ввести в выражение поле "Курс" из таблицы "Валюта"

аналогично вводу предыдущего поля. Выражение в области ввода должно принять следующий вид:

[Туры]![ Стоимость]* [Валюта]![Курс].

Нажать "ОК".

4. Для лучшего восприятия информации изменить свойства создан-

ного поля запроса. Вызвать быстрое меню одной из ячеек поля на панели запроса, выбрать пункт "Свойства". Задать:

Формат поля – денежный;

Число десятичных знаков – 2

– подпись – ЦенаРуб. 5. Выполнить запрос.

Задание Б. Рассчитать цену одного дня для предлагаемых туров.

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

полняется аналогично предыдущему.

Порядок действий.

1. Открыть запрос "ТурыСведения" в режиме конструктора. Сохра-

нить его под именем "РасчетЦеныДня".

2-3. Аналогично предыдущему заданию зайти в окно построителя выражений и создать выражение [Туры]![ Стоимость]* [Валюта]![Курс].

66

4. Далее ввести знак деления (/) с клавиатуры или щелчком мыши на соответствующей кнопке для ввода операторов. Ввести в выражение поле "Продолжительность" из таблицы "Туры" аналогично вводу преды-

дущего поля. Выражение в области ввода должно принять следующий вид: [Туры]![ Стоимость]* [Валюта]![Курс]/ [Туры]![Продолжительность]

Нажать "ОК".

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

5. Для лучшего восприятия информации изменить свойства создан-

ного поля запроса. Вызвать быстрое меню верхней ячейки поля на панели запроса, выбрать пункт "Свойства". Задать:

формат поля – денежный;

число десятичных знаков – 2;

подпись – ЦенаДня.

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

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

сарифметическими действиями.

1.Используется запрос на выборку. Для ввода результатов отводит-

ся отдельный пустой столбец. В него в режиме конструктора вводится арифметические выражение и после выполнения запроса записываются результаты вычислений. Исходные компоненты БД не изменяются.

2. Используется запрос на обновление. В одном из исходных ком-

понентов заранее создается поле для записи результатов расчетов. В него в режиме конструктора вводятся арифметические выражения и после вы-

полнения запроса записываются результаты вычислений. При выполнении запроса программа запрашивает подтверждение на изменение записей в исходном компоненте.

В рассмотренных заданиях использован первый вариант.

67

3.8. Итоговый запрос

Итоговые запросы предназначены для статистического анализа по-

лей вычисляемых типов. При их выполнении как правило производится группировка записей определенного исходного компонента БД по значе-

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

Наиболее часто в практике рядового пользователя применяются следующие операторы:

среднее значение – Avg (Average);

сумма – Sum;

минимальное значение – Min;

максимальное значение – Max;

число записей в группе – Count.

Создавать итоговый запрос проще с помощью мастера, поскольку на одном из его шагов есть возможность перехода к соответствующему виду запроса и упрощено задание статистических операторов.

Задание А. Рассчитать минимальную стоимость тура и среднюю цену одного дня тура, а также предлагаемое количество туров для каждого континента.

Порядок действий.

1. В окне "База данных" дать команду "Создание запроса с помо-

щью мастера". В Access-2007 надо выбрать вкладку "Создание", в ней зна-

чок "Мастер запросов" и далее из предлагаемых типов запросов выбрать

"Простой запрос".

2. В окне "Создание простых запросов" в окошке "Таблицы и запро-

сы" выбрать запрос "РасчетЦеныДня". В окошке "Доступные поля" вы-

брать поле "Континент" и нажать кнопку ">", после чего имя поля "Конти-

нент" появится в окошке "Выбранные поля". Аналогично выбрать поля

"Стоимость" и "ЦенаДня". Нажать "Далее".

68

3. В переключателе "Выберите подробный или итоговый отчет" вы-

брать "Итоговый". Нажать кнопку "Итоги".

4. В окне "Итоги" выбрать итоговые значения для вычисления. По условию работы включить флажки:

"СтоимостьРубли" – Min; "ЦенаДня" – Avg ( среднее значение).

Также включить флажок "Подсчет числа записей в Туры" в правом нижнем углу окна. Нажать "ОК", затем – " Далее".

5. Задать имя созданного запроса: "СтатистикаПоКонтинентам".

Нажать "Готово" для просмотра результата запроса.

В поле "Count – Туры" показано число туров, предлагаемое на каж-

дый континент.

6. Перейти в режим конструктора и задать свойства полей:

формат поля – денежный;

число десятичных знаков – 2.

Задание Б. Выполнить анализ предложений туров от различных ту-

ристских фирм. Задание выполняется аналогично предыдущему, только вместо поля " Континент" используется поле "Фирма". Сохранить запрос под именем "СтатистикаПоТурфирмам".

Если нужно провести группировку записей по значениям несколь-

ких полей, то удобнее работать в режиме конструктора запросов.

Задание В. Определить минимальную и максимальную продолжи-

тельности туров на разные континенты с разными видами отдыха.

Для выполнения надо создать итоговый запрос с группировкой по двум показателям: "Континент" и "ВидОтдыха".

Порядок действий.

1. Открыть запрос "ТурыСведения" в режиме конструктора. Сохра-

нить запрос под именем "СтатистикаПоВидам".

69

2. Удалить все поля, кроме "Континент", "Продолжительность", и "ВидОтдыха".

Внимание! При формировании итогового запроса принципиальное значение имеет порядок расположения полей. Поля, по которым произво-

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

дать последовательность группировки. Так, если объединение по группам производится сначала по континентам, а потом внутри созданных групп уже по видам отдыха, то поле "Континент" должно стоять слева от поля

"ВидОтдыха" .

3. В панель запроса ввести поле "ВидОтдыха" между полями "Кон-

тинент" и "Продолжительность". Для этого столбец поля "ВидОтдыха" на-

до выделить, зацепить курсором и перетащить.

4. В столбце "Континент" вызвать быстрое меню и выбрать команду

"Групповые операции" (для Access-2007 – команду "Итоги").

5. В столбце "Продолжительность" поставить курсор в ячейку

"Групповая операция" (на слове "Группировка"), открыть появившийся раскрывающийся список и выбрать оператор Min.

6. Еще раз ввести в запрос поле "Продолжительность" из таблицы

"Туры". Для нового поля выбрать оператор Max. 7. Выполнить запрос.

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

Перекрестный запрос так же, как и итоговый, является одним из ин-

струментов анализа информации. При его выполнении создается таблица,

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

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