Смекни!
smekni.com

Автоматизация работы базы отдыха (стр. 3 из 3)


Главная:

Источник записей: Sdan_nomer

Таблица, на которой строится форма: Sdan_nomer

Корректируемые данные: Sdan_nomer

Количество записей: Sdan_nomer

Подчиненная:

Источник записей: строки

Таблица, на которой строится форма: строки

Корректируемые данные: Нет

Количество записей: сколько выведенный клиент пользовался услугами

Достоинства: Возможность корректировать таблицу «Sdan_nomer», реализуется иерархический просмотр.

Вывод: Выбираем для реализации форму 2, так как она удовлетворяет всем поставленным требованиям.

1) Определение подсхемы данных.

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


2) Общая структура вложенной формы.

В соответствие с приведенной подсхемой определим структуру вложенной формы ‘f_uslug’. В основной части будут располагаться реквизиты клиента (название клиента: name_klient); подчиненная форма ‘fpp_uslug’ будет содержать список записей об услугах,которыми пользуются клиенты. Связь между формами будет осуществляться по полям код-ключ н/ч.

Таким образом форму ‘f_uslug’ определяют:

- Тип формы: вложенная;

- Источник записей для основной части формы: таблица ‘Sdan_nomer’;

- Включаемая подчиненная форма: ‘fpp_uslug’.

Форму ‘fpp_uslug’ определяют:

- Тип формы: подчиненая;

- Источник строк: таблица ‘строки’.

3) Реквизиты основной и подчиненной формы.

В заголовок формы ‘f_uslug’ включаем реквизит поле, содержащий название клиента. С помощью этого поля будет осуществляться поиск записей в форме для каждого конкретного клиента. В основную часть формы включаем подчиненную форму ‘fpp_uslug’ в которую включаем поле со списком, содержащий название услуги (услуга), поле (cena_uslugi) и поле (data).

6. Разработка отчетов

Общий счет представляет собой счет-итог, который выдается к оплате клиенту при выезде. Также этот отчет можно использовать для получения информации о потраченных клиентом суммах с момента въезда до настоящего времени.

Заголовок группы «FIO»:

· Отдыхающий

· Дата заезда

· Дата въезда

Область данных:

· Наименование услуги

· Итоговая сумма за каждую услугу

· Количество услуг

Примечание группы:

· Количество прожитых дней

· Итог за услуги

· Итог за питание

· Итог за проживания

· Итоговая сумма

7. Реализация алгоритмов обработки информации

7.1 Реализация алгоритмов средствами макросов

Разработаны следующие макросы:

1. Макрос 1. Осуществляет открытие формы ‘sdan_nomer’ для занесения данных о новом клиенте, записывает текущий номер в форму ‘sdan_nomer’ из формы f_nomer, обновляет данные во всей главной форме ‘F_main’. Привязан к событию ‘Нажатие’ кнопки ‘Зарегистрировать’ в форме ‘F_main’ во вкладке ‘Регистрация’.

2. m_inf. Осуществляет открытие формы ‘F_inf’ для корректировки данных и получения сведений. Привязан к событию ‘Нажатие’ кнопки ‘об отдыхающем’ в форме ‘F_main’ во вкладке ‘Счет’.

3. m_otchet. Осуществляет открытие отчета ‘o_otchet’ для определенного клиента, т.е. для клиента, запись про которого является текущей в форме ‘F_c4et’. Привязан к событию ‘Нажатие’ кнопки ‘Счет’ в форме ‘ ‘F_main’ во вкладке ‘Счет’.

4. m_obnov. Осуществляет обновление записей о наличии номеров в таблице ‘Nomera’ с помощью запроса ‘z_obnov_nomer’, а так же закрывает форму ‘ ‘sdan_nomer». Привязан к событию ‘Нажатие’ кнопки ‘Вселить’ в форме ‘ ‘sdan_nomer».

5. m_udal. Удаляет записи о выехавших отдыхающих из таблиц ‘Spisok_otdih’, 'Sdan_nomer’, осуществляет обновление записей об освобождении номеров в таблице ‘Nomera’ с помощью запросов ‘Z_obnov_visel’, ‘Z_visel’, ‘Z_visel_otl2’. Привязан к событию ‘Нажатие’ кнопки ‘Выселение’ в форме ‘F_inf’.

Описание алгоритма выселения клиента из базы отдыха

1) Создать запросы на удаление и обновление, для того чтобы очистить таблицу ‘spisok_otdih’ ‘Sdan_nomer’ от предыдущих записей и обновить записи об освобождении номеров в таблице ‘Nomera’.

2) Создать макрос ‘M_udal’, последовательно запускающий запросы на удаление, обновление и добавление.

Макрокоманда
ОткрытьЗапрос (Z_visel; Таблица; Изменение
ОткрытьЗапрос (Z_visel_otl2; Таблица; Изменение)
ОткрытьЗапрос (z_obnov_visel; Таблица; Изменение)
ОбновитьОбъект (Форма, F_main)

3) В форме ‘Sdan_nomer’ создать кнопку ‘Выселение’. К событию ‘Нажатие’ этой кнопки привязать макрос ‘M_udal’.

7.2 Реализация алгоритмов средствами VisualBasic

PrivateSubf1_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

Forms! [F_main]! [f2].Requery

End Sub

Private Sub f2_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

End Sub

Private Sub f3_AfterUpdate()

Forms! [F_main]! [f_nomer].Requery

End Sub

Private Sub k1_AfterUpdate()

Forms! [F_main]! [Z_ludi].Requery

End Sub

Private Sub k2_AfterUpdate()

Forms! [F_main]! [f_uslug].Requery

End Sub

Private Sub Зарегистрировать_Click()

On Error GoTo Err_Зарегистрировать_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = «f_otdih»

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_Зарегистрировать_Click:

ExitSub

Err_Зарегистрировать_Click:

MsgBox Err. Description

Resume Exit_Зарегистрировать_Click

EndSub

8. Разработка приложения пользователя

Главная форма «f_main», в которой есть 3 вкладки:

· Регистрация.

· Услуги.

· Счет.

Для занесения информации о прибывшем отдыхающем необходимо на вкладке ‘Регистрация’ при помощи поиска выбрать подходящий номер (по местонахождению, по виду, классу) в форме ‘f_nomer’, затем нажать на кнопку «Зарегистрировать», при нажатии которой откроется форма ‘Sdan_nomer’ и последовательно заполнить все поля. После занесения всех необходимых сведений, необходимо нажать кнопку ‘Вселить’ и данные об отдыхающем внесутся в таблицы.

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

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