Регистрация новой путевки.

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

Как видно на скриншоте, этот пункт позволяет добавлять все поля в таблицу Pass. При этом выбор клиента и номера маршрута производится из ниспадающих списков, которые берут данные соответственно из таблиц Client и Route. Для исключения ошибки выбора по ФИО при наличии в базе данных двух клиентов с абсолютно идентичными именами в специальное поле выводится код выбранного клиента.

Код SQL-запроса для вывода кода клиента по ФИО:

select clientcode

from CLIENT

where fio=:fio

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

procedure TForm2.DBNavigator5Click(Sender: TObject; Button: TNavigateBtn);

begin

DataModule1.PassDiscount(lcbFio.text);

DataModule1.PassCost(lcbFio.text);

end;

//процедуры модуля данных

procedure TDataModule1.PassDiscount (fio:string);

begin

qPassDiscount.Active:=False;

qPassDiscount.ParamByName ('fio').AsString:=fio;

DataModule1.qPassDiscount.Active:=True;

end;

procedure TDataModule1.PassCost (FIO:string);

begin

qPassCost.Active:=False;

qPassCost.ParamByName ('Fio').AsString:=Fio;

DataModule1.qPassCost.Active:=True;

end;

Код SQL-запроса для вывода размера скидки на путевку:

select discount

from PASS join profit on pass.codeofpass=profit.codeofpass

where clientcode in (select clientcode from client where fio=:fio)

and dateofsail = current_date

Код SQL-запроса для вывода стоимости путевки:

select cost

from PROFIT join pass on profit.CODEOFPASS=pass.CODEOFPASS

where dateofsail=current_date and

clientcode in (select clientcode from client where fio=:fio)

Результат выполнения:


5023408238051288.html
5023483224971910.html
    PR.RU™