Hola jomah.
Al igual que kapcomx, pienso que el error anda por ahí...
De este modo tendría que funcionar:
Código Delphi
[-]
function ProxNumReg(AQuery: TQuery; tbName: string): Integer;
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Text:= 'SELECT MAX(NUM_REG) AS NUM_REG FROM '+tbName;
Open;
Result:= FieldByName('NUM_REG').AsInteger + 1;
Close;
end;
end;
...
begin
var
Num: Integer;
begin
Num:= ProxNumReg(qry1, Tab);
qry2.First;
try
while not qry2.Eof do
begin
tbl1.Insert;
tbl1.FieldByName('NUM_REG').AsInteger:= Num;
tbl1.FieldByName('TIPO_POLI').AsString := cbb1.Text;
tbl1.FieldByName('NUM_CTA').AsString := qry2.FieldByName('NumCta').AsString;
tbl1.FieldByName('CONCEP_PO').AsString := qry2.FieldByName('ConcepPoliz').AsString;
tbl1.FieldByName('DEBE_HABER').AsString := qry2.FieldByName('DebeHaber').AsString;
tbl1.FieldByName('MONTOMOV').AsFloat := qry2.FieldByName('Monto').AsFloat;
...
tbl1.Post;
Inc(Num);
qry2.Next;
end;
except
...
end;
...
Claro que luego tendrías que actualizar el valor de NUM_REG en la tabla correspondiente.
Saludos.