Подскажите пожалуйста.
В одной таблице имеются рейсы , в другой даты вылета этого рейса (связь 1 к многим);
1) таблица рейсов: 2) таблица вылетов
1 рейс 1 рейс
2 откуда 2 дата вылета
3 куда 3 время отправления
4 тип самолета 4 время прибытия
5 кол-во мест всего 5 продано билетов
6 свободно билетов
В таблице рейсов имеется несколько рейсов с разным кол-вом билетов, и у каждого рейса по несколько вылетов.
В таблице рейсов я выбираю рейс(1) . Потом нажимаю кнопку и показываю все рейсы из заданного пункта отправления. Выбираю появившейся рейс и в другой таблице показываются все вылеты этого рейса. Выбираю нужный рейс(2) и нажимаю кнопку покупки билетов, ввожу нужное кол-во билетов. НО кол-во купленных и свободным мест рассчитывается на основании (кол-во мест всего) рейса который я выбрал первым(1) еще до выборки из заданного пункта отправления , а должно рассчитываться на основании рейса который я выбрал после выборки(2).
Надеюсь вы поняли.
Как это исправить?
Так я выбираю рейс из заданного пункта отправления
Код:
procedure TForm1.N5Click(Sender: TObject);
begin
DataSource2.DataSet:=Query1;
DataSource1.DataSet:=Query2;
if okbottomdlg.ShowModal=mrok then
with Query2 do
begin
close;
ParamByName('dnazv').Value:=okbottomdlg.edit1.text;
open;
end;
А в sql пишу select * from aa where aa.otkuda=:dnazv
Так я осуществляю покупку билетов
Код:
procedure TForm4.Button1Click(Sender: TObject);
var
b:integer;
begin
form1.Query1buy.ReadOnly:=False;
form1.Query1svob.ReadOnly:=False;
form1.Query1.Edit;
form1.Table1.Open;
b:=StrToInt(Edit1.Text);
form1.Query1svob.Value:=form1.Table1Mest.Value - form1.Query1buy.Value;
if b>form1.Query1svob.Value then ShowMessage('ошибка') else begin
form1.Query1.Edit;
form1.Table1.Open;
form1.Query1buy.Value:=b+ form1.Query1buy.Value;
form1.Query1svob.Value:=form1.Table1Mest.Value - form1.Query1buy.Value;
form1.Query1.Post;
end;
form1.Query1buy.ReadOnly:=True;
form1.Query1svob.ReadOnly:=true;
form4.Close;
end;