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

Запросы с параметром

  1. Создать запрос, отображающий всю информацию о пациенте после ввода его фамилии.

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

В нашем случае параметр – это фамилия пациента – текстовое поле, причем оно является условием отбора, следовательно, запрос будет выглядеть следующим образом (см. рис. 2.14):

Запросы на вычисление

  1. С оздать запрос «Количество смен», рассчитывающий количество отработанных смен для каждого из врачей.

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

Необходимо записать сумму всех полей по модулю (abs()).

Рис.2. 15

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

  1. Создать запрос, вычисляющий срок пребывания пациентов в больнице.

Для организации этого запроса добавим в конструктор таблицу «Пациенты». Выставим поле «Фамилия» из таблицы пациенты, и построим поле Срок пребывания в больнице. Для этого будем использовать встроенную функцию Date(), которая определяет текущую дату (см. рис. 2.16.)

Рис. 2.16.

  1. Создать запрос, высчитывающий заработную плату врачей, из расчета, что ставка за смену по 1 категории 650 р., по второй – 480 р., по третьей и четвертой – 320 р.

Для вычисления заработной платы будем использовать встроенную функцию управления:

IIf(<Условие>; <Действие 1>; <Действие 2>),

где Условие – это логическое выражение, которое может принимать значение ложь или истина; действие 1 – это действие, которое выполняется, когда условие верно, а действие 2 – это действие, которое выполняется, когда условие неверно.

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

Заработная плата: IIf([Врачи]![Категория]=1;[Количество смен]![Общее количество смен]*650; IIf([Врачи]![Категория]=2; [Количество смен]![Общее количество смен]*450;[Количество смен]![Общее количество смен]*320))

Запросы на вычисление с использованием групповых операций

  1. В ычислите количество пациентов в каждой палате. Для создания этого запроса необходимо добавить в конструктор таблицы «Пациенты» и «Палаты».

Для вычисления количества пациентов в палатах воспользуемся групповыми операциями (см. прил.2), которые выбираются в контекстном меню (после щелчка правой кнопкой мыши). Сгруппируем палаты по номерам (выберем в списке операцию группировка) и вычислим количество фамилий, относящихся

к каждой из палат (Count) (см. рис. 2.17)

З

Рис. 2.17

апросы на действие

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

Для создания запроса на действие необходимо конструктор добавить таблицу «Пациенты» и в меню Запросы определить тип запроса – на удаление. После этого необходимо, что удаляться должна фамилия, если дата выписки меньше текущей (см. рис. 2.18)

Задание для самостоятельной работы

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

  2. Выберите всех пациентов старше 30 лет, чья фамилия начинается с буквы «П» (с любой другой буквы).

  3. Создайте запрос с параметром, который после ввода № палаты выдавал информацию о количестве мест в ней и о количестве свободных из них.

  4. Создайте запрос, характеризующий каждую палату на наличие мест: есть в ней места (да) или нет.

  5. Вычислите количество специалистов каждого рода в больнице (количество хирургов, невропатологов и т. д.)

  6. Выведите фамилии пациентов, которые провели уже в больнице более 14 дней.

  7. Удалить записи о врачах, чья категория 4.

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