Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
260801_otel / ПояснЗаписка.doc
Скачиваний:
7
Добавлен:
02.03.2016
Размер:
276.48 Кб
Скачать

Результаты выполения запросов q_ВыборСвбодногоНомера

Запрос выбора свободного номера на текущий день Используются таблицы «Категория номеров» «Номера» и «Регитрация» для выделения только тех номеров, которые не заняты в текущий день ( и не будут заняты вплоть до даты выселения регистрируемого лица)

Используется, как список предлагаемых номеров в форме

На рис 9 приводится конструирование приведенного запроса

Список задаваемый приведенным запросом открывается при выборе номера, после выбора категории номеров (см. рис 10)

Вид запроса в виде предложения SQL

SELECT DISTINCTROW КатегорииНомеров.КодКатНомера, Номера.Номер, КатегорииНомеров.Тариф, Номера.Этаж, Регистрация.ДатаВселения, Регистрация.ДатаВыселения, IIf(Date()>[Регистрация].[ДатаВселения] And Date()<=[Регистрация].[ДатаВыселения],-1,0) AS Занят, ([Регистрация].[ДатаВыселения]-[Регистрация].[ДатаВселения])*[Тариф] AS Оплата

FROM (КатегорииНомеров INNER JOIN Номера ON КатегорииНомеров.КодКатНомера = Номера.КодКатегории) INNER JOIN Регистрация ON Номера.Номер = Регистрация.Номер

WHERE (((IIf(Date()>[Регистрация].[ДатаВселения] And Date()<=[Регистрация].[ДатаВыселения],-1,0))=0))

ORDER BY КатегорииНомеров.КодКатНомера, Номера.Этаж;

Источник записей в форме frmКлиентыПросм

SELECT Клиенты.КодКлиента, Клиенты.ФИО, Клиенты.Адрес, Клиенты.Телефон, Клиенты.[Паспорт №серия], Клиенты.ПаспортВыдан FROM Клиенты ORDER BY Клиенты.ФИО;

Рис 10 Вид формы регистрации Клиента при выборе свободного номера в двухместном люксе

Q_Проживание не оплачено

Запрос предназначен для выявления неоплаченных номеров На рис 11 см. конструирование запроса.

Рис 11 Конструирование запроса «проживание не оплачено»

Ниже приводится вид запроса ввиде фразы SQL:

SELECT DISTINCTROW Регистрация.ДатаВселения, Регистрация.ДатаВыселения, Регистрация.Сумма, Регистрация.Оплачен, Клиенты.ФИО

FROM Клиенты INNER JOIN Регистрация ON Клиенты.КодКлиента = Регистрация.КодКлиента

WHERE (((Регистрация.Оплачен)=0));

Q_сумма оплаты за месяц

Запрос предназначен для суммирования сведений об оплате за месяц

Приводится в виде фразы на языке SQL

При выполнении запроса открываются диалоговые окна (см. рис 12) в соответствии с параметрами запроса

SELECT DISTINCTROW Month(([ДатаВыселения])) AS [Итого за месяц], Sum(Регистрация.Сумма) AS Sum_Сумма, Регистрация.Оплачен

FROM Клиенты INNER JOIN Регистрация ON Клиенты.КодКлиента = Регистрация.КодКлиента

GROUP BY Month(([ДатаВыселения])), Регистрация.Оплачен

HAVING (((Month(([ДатаВыселения])))=[Укажите № мес выбытия]) AND ((Регистрация.Оплачен)=-1));

Итого за месяц

Sum_Сумма

Оплачен

10

32 700,00р.

Да

Рис 12 Приводится диалоговое окно и результат выполнения запроса справа в виде таблицы об оплате за 10 месяц

В работе сконструированы з формы, основанные на запросах- источниках информации. Первая форма приведена на рис 10. Дл выбор клиентов используется список, а при вводе нового клиента нажимается кнопка “Ввод паспортных данных нового клиента” При этом вызывается форма frmКлиентыНовый

Форма приводится на рис 13

Рис 13 Ввод паспортных данных нового клиента или просмотр существующего

Для просмотра паспортных данных списка клиенов сконструирована ленточная форма “Клиенты- Просмотр” frmКлиентыПросм

На рис 14 вид открытой формы frmКлиентыПросм

Соседние файлы в папке 260801_otel