Занятие 8
ЗАПРОС "РАСЧЕТ"
Если Вы еще не обзавелись копией базы данных, то сейчас убедились в ее необходимости.
Восстановив базу данных посредством создания копии в виде «Гостиница_7_копия.mdb”., Приступим к конструированию запроса "Расчет". Согласитесь, что было бы удобно, если после выполнения запроса появилась таблица с суммами, которые надлежит выплатить гостю за гостиничные услуги. Пусть эта таблица будет называться "Расчетный лист". Для этого при создании запроса выберем тип - создание таблицы.
Создать àПростой запросàОКàГости(Фамилия), Гости(Инициалы), Гости(Выезд) àДалее à задать имя запроса"Расчет" à Готово.
Далее этот запрос закрыть. Убедиться в том, что запрос с именем «Расчет» появился.
Войти в этот запрос по новой. В режиме конструктора выбрать ЗапросàСоздание таблицы àв окне «Создание таблицы" в поле ввода "имя таблица:" необходимо ввести имя таблицы, которая будет создана (в нашем случае введем "Расчетный лист") àОК. В этом же окне указывается место, где будет создана таблица - в текущей базе данных или в другом файле. По умолчанию таблица создается в текущей базе данных - у нас это файл «Гостиница_7.mdb”. При необходимости мы можем выбрать другую базу данных, т.е. другой файл. Например, мы могли бы сбрасывать в этот файл денежные документы: расчетные листы, накладные и т.д. Но вначале такой файл необходимо создать.
Информацию базы данных можно условно разбить на две группы. К первой группе относится так называемая первичная информация, которую вводят, корректируют и удаляют. Ко второй группе относится так называемая вторичная информация, которая является результатом обработки первичной.
При создании базы данных необходимо задавать только те поля, которые необходимы и не вводить те значения, которые могут быть вычислены на основе имеющейся первичной информации.
Запрос "Расчет" будет обрабатывать имеющуюся информацию и на ее основе формировать новые данные, которые будут вторичными. Итак, в таблице "Расчетный лист" мы хотим видеть следующую информацию: фамилию и инициалы, дату поселения, число дней, прожитых в гостинице, категорию гостиничного номера, сумму за проживание, суммы за телефон и телевизор.
Фамилии и инициалы, а также дата поселения и категория номера у нас уже имеются. А вот число дней, прожитых в гостинице и суммы за услуги нам предстоит вычислить на основе имеющейся информации. При этом потребуется ввести стоимость телефона и телевизора за сутки.
При конструировании запроса мы введем дополнительные поля для того, чтобы понять некоторые тонкости, но затем мы либо удалим эти поля, либо отменим их вывод, убрав крестик в строке "Вывод на экран" в поле, которое не хотим выводить на экран. Очевидно, что в этом запросе поля, помеченные для вывода на экран, будут заноситься и в таблицу (у нас в "Расчетный лист").
В запросе будут участвовать все три наши таблицы: "Гости", "Этажи" и "Номера", поэтому их нужно ввести в сетку запроса.
В первом и втором столбцах запроса задайте поля "Фамилия" и "Поселение" (таблица "Гости"). В третий столбец, который не будем выводить на экран, занесем поле "Выезд". Это поле будем использовать для задания критерия отбора записей. Введя условие "<=Date()", мы выберем записи, даты выезда которых либо истекли, либо заканчиваются сегодня. Перейдя в режим таблицы, мы можем просмотреть эти записи, а затем вернуться в режим конструктора.
Следующее поле запроса мы не перенесем из таблицы, а создадим сами. Назовем его "Число дней" - в нем будет выведено количество дней, прожитых гостем в гостинице. Такие создаваемые поля называются вычисляемыми. Для создания вычисляемого поля щелкните в строке имени поля (следующее за полем "Выезд" и вместо выбора уже существующего поля введите с клавиатуры то, что нужно выполнить.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.