Niestety ani jeden ani drugi przykład nie chce uaktualniać tabeli. Może postaram się opisać dokładniej problem i jeszcze go trochę rozwinę:
tblPodstawa:
id, Mod, dana1, dana2,dana3
1 10 200 aa bb
2 10 300 cc dd
3 25 200 ee ff
4 25 300 gg hh
5 10 100 ii jj
6 25 100 kk ll
..
tblRelacja:
dana1, danaX, DanaY
200 300 100
400 500 600
Do tej pory robiłem to na paradoxie w ten sposów:
- zaczytywałem wiersz z tblPodstawa
for := 0 to tblPodstawa.RecordCount
begin
Szukana:=tblPodstawa.FieldbByName('Dana1').value;
if tblRelacja.locate('Dana1',Szukana,[loCaseInsensitive]) then
if not tblDane.locate('Dana1',Szukana,[loCaseInsensitive]) then
begin
tblDane.Append;
tblDane.FieldByName('Dana1').value:=Szukana;
tblDane.FieldByName('XXX').value:=XXX;
tblDane.Post;
end;
else
begin
tblDane.edit;
tblDane.FieldByName('Dana1').value:=Szukana;
tblDane.FieldByName('XXX').value:=XXX;
tblDane.Post;
end;
następnie jeszcze tak:
for := 0 to tblPodstawa.RecordCount
begin
Szukana:=tblPodstawa.FieldByName('Dana1').value;
Szukana1:=tblPodstawa.FieldByName('Mod').value;
if tblRelacja.locate('DanaX',Szukana,[loCaseInsensitive]) then
tblDane.locate('Mod',Szukana1,[loCaseInsensitive]) then
begin
tblDane.edit;
tblDane.FieldByName('DanaX').value:=Szukana;
tblDane.FieldByName('XXX').value:=XXX;
tblDane.Post;
end;
itd... z DanaY...
wynik jest taki:
tblDane:
id,Mod, dana1, Dana2, Dana3,DanaX, DanaX2,DanaX3 DanaY DanaY2 DanaY3
1 10 200 aa bb 300 cc dd 100 ii jj
2 25 200 ee ff 300 gg hh 100 kk ll
3 ...
W paradoxie to wychodziło a jak to się w MySQL?