Программа Microsoft Access - электронное пособие access.my-study.info

Пример базы данных "Поликлиника" (Access)

Подсчет стоимости услуг в базе данных "Поликлиника"

Для подсчета стоимости мы научимся 1) связывать поля таблиц в построителе запросов и 2) добавлять условия в запрос.

Итак, в нашей базе есть таблица с визитами и отдельная таблица со стоимостью визитов. Для того, чтобы вывести стоимость конкретного визита к врачу, нужно построить запрос, в котором будут участвовать обе таблицы. Вызываем построитель запросов (см. рисунок) и появляется окошко в котором мы выбираем нужные нам таблицы, кликаем "Добавить" (Add) и "Закрыть" (Close) :
Добавление таблиц в запрос (Access)

Теперь перед нами сетка построителя. Важно понимать, по каким полям мы можем объеденить таблицы в запросе. В нашем случае это ID врача, в одной таблицы это поле называется visitDoctor, а в другой - visitCostDoctorID (внешний ключ). Ставим курсор в поле visitCostDoctorID и перетаскиваем мышкой на visitDoctor, когда отпустим, появится линия, обозначающая связь между полями. Теперь надо определиться какие поля и в какой последовательности мы выведем в запросе и просто перетаскиваем мышкой нужные нам поля в выбранной очередности в верхнюю строчку сетки (Field). Чтобы посмотреть результат достаточно кликнуть в значок таблицы в левом верхнем углу.
Связывание полей и выбор полей в запросе (Access)

Если у вас заполнены таблицы так же как и у меня, то результат вас должен удивить - визитов в таблицы 3, а у нас запрос выводит 5 строчек.


Все объясняется просто: для некоторых врачей мы заводили по несколько периодов с разными ценами за визит, вот нам запрос и выводит их все. чтобы увидеть это, давайте выведем и поля visitCostFrom и visitCostTill (дополнительно перетащим мышкой из таблицы в сетку). Теперь ясно, что нужно добавить условие, чтобы visitDate попадал в период между visitCostFrom и visitCostTill.


Для этого в сетке построителя запросов под полем visitDate в строчке Criteria запишем: >=[visitCostFrom] And <=[visitCostTill] (поля visitCostFrom и visitCostTill нам были нужны лишь для визуализации, теперь мы их можем удалить).


Получаем нужный нам результат и сохранаяем запрос как QueryVisitCosts:



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

Скачать изменения в базе данных "Поликлиника" (на 14.11.2008).

© - Создание базы данных в Microsoft Access