Witam
Uczę się programować w D7 i próbuje stworzyć procedure wybierającą
pewne dane z tabel źródłowych i zapisujaca do tabeli roboczej -
procedura j/n.
Niestety jakoś nie działa mi relacja w tabeli wynikowej ROB mam
wszystkie potrzebne dane pobrane z tabeli DANE natomiast danychy z
tabeli podrzędnej prac nie ma w ogóle lub do wszystkich rekordów
przypisane są te same dane np z rekordu pierwszego tabeli prac (nie jest to
reguła że akurat z rekordu I)
Coś robie źle - prosze o pomoc i wskazanie błędu.
Z góry bardzo dziękuje
Procedure TForm30.wst_fm();
begin
Dm.prac.IndexName:='prac-s';
DM.prac.MasterSource:=DM.DSdane;
DM.prac.MasterFields:='symbol_p';
DM.rob.EmptyTable;
DM.rob.Edit;
DM.dane.DisableControls;
DM.dane.First;
Form30.bar1.Min :=0;
Form30.Bar1.Max := DM.dane.RecordCount;
Form30.Bar1.Position := 0;
while not DM.dane.Eof do
begin
Form30.Bar1.Position := Form30.Bar1.Position+1;
IF (DM.dane.FieldByName('typ_s').AsString = 'F') AND
(DM.dane.FieldByName('pkzp').AsString = 'T')then
begin
DM.rob.Append;
DM.rob.FieldByName('nazwisko').AsString := DM.prac.Fieldbyname
('NAZWISKO').AsString; ;
DM.rob.FieldByName('ul').AsString := DM.prac.Fieldbyname
('ul').AsString;
DM.rob.FieldByName('symbol_p').AsString := DM.prac.Fieldbyname
('symbol_p').AsString;
DM.rob.FieldByName('miej').AsString := DM.prac.Fieldbyname
('miejscowos').AsString;
DM.rob.FieldByName('opis_o').AsString := DM.prac.Fieldbyname
('opis_o').AsString;
DM.rob.FieldByName('opis_o1').AsString := DM.prac.Fieldbyname
('opis_o1').AsString;
DM.rob.FieldByName('nazwas').AsString := DM.dane.Fieldbyname
('nazwas').AsString;
DM.rob.FieldByName('numer').AsString := DM.dane.Fieldbyname
('numer').AsString;
DM.rob.FieldByName('kwota_s').AsCurrency := DM.dane.Fieldbyname
('kwota_s').AsCurrency;
DM.rob.FieldByName('splacono').AsCurrency := DM.dane.Fieldbyname
('jeszcze').AsCurrency;
DM.rob.FieldByName('data_u_p').AsDateTime := DM.dane.Fieldbyname
('przyznanie').AsCurrency;
DM.rob.FieldByName('data_r_s').AsDateTime := DM.dane.Fieldbyname
('data_rs').AsCurrency;
DM.rob.FieldByName('data_z_s').AsDateTime := DM.dane.Fieldbyname
('data_s').AsCurrency;
end;
DM.dane.Next;
end;
DM.prac.MasterSource:=nil;
DM.prac.MasterFields:='';
Dm.prac.IndexName:='prac';
DM.dane.EnableControls;
DM.rob.Post;
DM.rob.First;
end;