Здравствуйте!
if not Table2.Locate('Isid',Table1.FieldByName('Projid').AsInteger,[]) then
begin
for i:=0 to n do
begin
Table2.Insert;
Table3.FieldByName('Cy1').AsString:=floattostr(Cy1[i]);
.........
Table2.Post;
end;
end
else
begin
for i:=0 to n do
begin
Table2.Edit;
Table2.FieldByName('Cy1').AsString:=floattostr(Cy1[i]);
.........
Table2.Post;
end;
end;
Не понятно почему заменяется только первый элемент массива на последний. Когда в Table2 в столбце Isid находятся значения Projid, то по условию else должно замениться все элементы, а заменяется новым (причем последним элементом) только первый элемент.
Или вместо
if not Table2.Locate('Isid',Table1.FieldByName('Projid').AsInteger,[])
условия надо другое?