Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных - лекционный материал.doc
Скачиваний:
65
Добавлен:
05.06.2015
Размер:
1.44 Mб
Скачать

Iiiзапросы

III.1запросы на выборку

Необходимо создать новый запрос (вкладка Создание\конструктор запросов)

Запрос1 необходимо найти всех студентов с личным кодом больше чем «Г0000»

  1. Создается запрос (Создание\конструктор запросов), добавляется таблица Студент, окно добавления закрывается

Определяются поля и выставляются критерии отбора:

Запрос2 необходимо найти всех студентов с личным кодом в диапазоне от «Г0000» до «Ф9999»

Запрос3 отобрать студентов с ростом более 150 см и личным кодом, “большим” чем М0007

Запрос4 отобрать лица женского пола (Ж и F) с личным кодом в интервале от «Г0000» до «Ф9999»

Запрос5 отобрать лица с личным кодом в интервале от Л0003 до Т0007, отсортировать по убыванию

Запрос6 отобрать лица мужского пола (М-русск. и М-латин.) с личным кодом в интервале от Л0003 до Х0013, ростом более 180 см., весом в интервале от 70 до 120 кг. Результаты выборки должны быть отсортированы сначала в порядке возрастания роста, затем в порядке убывания веса

Запрос7 создать запрос в режиме Создание таблицы с критериями: отобрать лица с личным кодом в интервале от Г0003 до Ф0007, отсортировать по убыванию, имя таблице присвоить «Результат запроса 7»

Запрос8 создать запрос в режиме Создание таблицы с критериями: лица мужского пола (М-русск. и М-латин.) с личным кодом в интервале от Г0003 до Ф0007, ростом более 150 см., весом в интервале от 40 до 60 кг. Результаты выборки должны быть отсортированы сначала в порядке возрастания роста, затем в порядке убывания веса, имя таблице присвоить «Результат запроса 8»

Запрос 9 Сгруппировать людей по полу, посчитать количество людей в каждой группе, средний рост, максимальный вес, минимальный вес (для подключения операций группировки результатов вкладка Конструктор \ )

Запрос 10 Создать запрос на выборку лиц, имеющих одинаковые имена. (Создание\Мастер запросов)

  • На вкладке Запросы выбрать тип запроса – Повторяющиеся записи.

  • В качестве источника указать таблицу Личности.

  • Поиск повторяющихся данных осуществлять по полю Имя.

  • Дополнительно для отображения в результате запроса указать поле Фамилия.

  • Сохранить запрос под именем Запрос_10

III.2 запросы с вычисляемыми полями

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

Создать в запросной QBE форме два новых поля - для роста, выраженного в футах, и веса - в фунтах. В этих полях следует записать выражения, связывающие традиционные английские меры длины и веса с метрическими единицами (напоминаем, что 1м=3,28ft, а 1кг=2,2lb).

Рост(Ft) : [рост]*0,0328

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

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

Для выполнения задания необходимо записать выражение, вычитающее год даты рождения из года текущей даты. Для этого, в свою очередь, следует воспользоваться стандартными функциями Date() и Year(). Созданное выражение должно быть записано в соответствующем поле (Поле:) запросной QBE формы.

Year(Date())-Year([рожд])

Запрос 13. Создать запрос, в котором будут представлены сведения о дате рождения и возрасте студента, с помощью Построителя выражений.

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

Попав в окно Построителя выражений, сконструировать необходимое выражение, последовательно выбирая различные объекты, а именно:

 поле дата рождения таблицы студент,

 стандартные функции Date() и Year(),

 знаки операций - вычитание,

 разделители - скобки.

Year(Date())-Year([дата рождения])

После конструирования выражения проверить правильность его записи в поле QBE формы и сравнить с тем, что было сделано ранее (в запросе 12).

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

Создать поле Антроп_Коэфф, содержащее обобщенный антропометрический коэффициент, вычисленный, как поделенная на 10 разность между ростом в сантиметрах и весом в килограммах.

Выполнить запрос, проверить правильность его работы и сохранить под именем Антропо.

Запрос 15. Создать запрос, в котором непосредственно перед его выполнением будут запрашиваться дополнительные данные по полю Имя

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

Для этого в режиме конструктора введите в поле Условие отбора текст: [укажите имя:] см рисунок:

Запрос16. Создать запрос на обновление таблицы.

Открыть новую запросную форму и определить в качестве источника таблицу Предметы.

Определить тип запроса – Запрос на обновление.

В поле Обновление сформулировать выражение, удваивающее количество часов для всех предметов:

В поле Условие отбора ограничить выполнение этого запроса только теми предметами, видом контроля для которых является Зачет.

Выполнить запрос и проверить правильность его работы.

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

Указать в Мастере запросов выбрать Перекрестный запрос.

Выбрать в качестве заголовка строк поле Пол, в качестве заголовка столбцов поле Рожд, а в качестве значения - поле Фамилия с функцией ЧИСЛО (подсчет значений).

Выполнить запрос и проверить правильность его работы.

ОТЧЕТЫ

1) Необходимо создать и выполнить запрос в режиме создания таблицы, позволяющий извлечь в отдельную таблицу Студентки, лиц женского пола в возрасте от 16 до 20 лет.

Создать отчет Отчет_Студентки в режиме мастера.

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

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

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

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

Перейдя в режим просмотра отчета, убедиться в его сходстве с образцом.

 

2)Создать и выполнить запрос, позволяющий извлечь в отдельную таблицу Студенты лиц мужского пола в возрасте от 30 до 40 лет. Таблица должна содержать поля Фамилия, Имя, Пол, Дату рождения. При отсутствии в таблице подходящих данных, предварительно ввести 5 записей, удовлетворяющих критерию выборки.

Создать отчет Отчет_Дедушки.

3)Создать отчет Отчет_Студентки2 на основе таблицы Студентки, который позволит получить:

  • сведения о девушках в возрасте от 16 до 20 лет с указанием их фамилий, имен, возраста (не даты рождения), роста и веса.

  • итоговые значения о количестве лиц в каждой возрастной группе.

  • итоговые значения о среднем росте и весе всех лиц, представленных в отчете.

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

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

Справка.Синтаксис масок ввода и примеры

Скрыть все

В приведенной ниже таблице указано, как Microsoft Access интерпретирует знаки, содержащиеся в свойстве Маска ввода (InputMask). Чтобы включить в маску текстовые константы, отличные от представленных в таблице, в том числе знаки и пробелы, следует просто ввести их в нужную позицию. Чтобы включить один из следующих знаков в качестве текстовой константы, необходимо перед ним ввести знак обратной косой черты (\).

Знак

Описание

0

Цифра (от 0 до 9, ввод обязателен; знаки плюс [+] и минус [-] не допускаются).

9

Цифра или пробел (ввод не обязателен; знаки плюс и минус не допускаются).

#

Цифра или пробел (ввод не обязателен; пустые знаки преобразуются в пробелы, допускаются знаки плюс и минус).

L

Буква (от A до Z или от А до Я, ввод обязателен).

?

Буква (от A до Z или от А до Я, ввод не обязателен).

A

Буква или цифра (ввод обязателен).

a

Буква или цифра (ввод необязателен).

&

Любой знак или пробел (ввод обязателен).

C

Любой знак или пробел (ввод необязателен).

. , : ; - /

Десятичный разделитель и разделители тысяч, значений дат и времени. (Отображаемый знак зависит от настроек языка и стандартов на панели управления Microsoft Windows.)

<

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

>

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

!

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

\

Указывает ввод любого следующего знака в качестве текстовой константы. Используется для отображения всех перечисленных в данной таблице знаков как текстовых констант (например, \A выводится как знак «A»).

Пароль

Значение Пароль, заданное для свойства Маска ввода (InputMask), создает поле для ввода пароля. Любой знак, введенный в поле, сохраняется как знак, но отображается как звездочка (*).

Примеры масок ввода

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

Описание маски ввода

Примеры значений

(000) 000-0000

(206) 555-0248

(999) 999-9999!

(206) 555-0248

(   ) 555-0248

(000) AAA-AAAA

(206) 555-TELE

#999

-20

2000

>L????L?000L0

GREENGR339М3

МАЙ Р 452Ю7

>L0L 0L0

Т2Ф 8М4

00000-9999

98115-

98115-3007

>L<??????????????

Мария

Иван

ISBN 0-&&&&&&&&&-0

ISBN 1-55615-507-7

ISBN 0-13-964262-5

>LL00000-

DB51392-0493

26