for i:=1 to table1.recordcount do
  begin
    table2.Append;
    table2.FieldByName('kh').asinteger:=table1.FieldByNam('kh').asinteger;
    table2.FieldByName('zp').value:=table1.FieldByName('zp').value;
    database2.StartTransaction;
    table2.Post;
    table1.Next;
    progressbar1.Position:=progressbar1.Position+round(100*Table2.RecordCount/Table1.RecordCount);
  end;