Fórum Loop ??? Urgente #203841
02/01/2004
0
Bom dia,
Estou fazendo um loop de inserção em uma tabela que tem apenas 2 registros do mesmo funcionario, quando eu faço a transferência de codigo dele p/um outro código ele só passa pelo loop uma única vez...o q pode estar de errado....
Desde já agradeço.
{Histórico Ocupacional}
Flag := 0;
cdsHist_Oc.Close;
cdsHist_Oc.Params[0].AsInteger := iEmpresa;
cdsHist_Oc.Params[1].AsInteger := iMatricula;
cdsHist_Oc.Open;
if not cdsHist_Oc.Locate(´COD_EMP_HOCUP;MATRIC_HOCUP´,
VarArrayOf([iEmpresa, iMatricula]),[loPartialKey]) then Flag := 1;
if Flag = 0 then
begin
{Atualiza Variáveis}
cdsHist_Oc.First;
while not cdsHist_Oc.Eof do
begin
iCodigoHO := cdsHist_Oc.FieldByName(´COD_HOCUP´).AsInteger;
sObsHO := cdsHist_Oc.FieldByName(´OBS_HOCUP´).AsString;
{Insere um novo registro}
cdsHist_Oc.Append;
cdsHist_Oc.FieldByName(´COD_EMP_HOCUP´).AsInteger := iEmpresa;
cdsHist_Oc.FieldByName(´MATRIC_HOCUP´).AsInteger := iMatriculaNova;
cdsHist_Oc.FieldByName(´COD_HOCUP´).AsInteger := iCodigoHO;
cdsHist_Oc.FieldByName(´OBS_HOCUP´).AsString := sObsHO;
{Faz Gravação}
cdsHist_Oc.Post;
cdsHist_Oc.ApplyUpdates(-1);
cdsHist_Oc.Next;
end;
end;
Estou fazendo um loop de inserção em uma tabela que tem apenas 2 registros do mesmo funcionario, quando eu faço a transferência de codigo dele p/um outro código ele só passa pelo loop uma única vez...o q pode estar de errado....
Desde já agradeço.
{Histórico Ocupacional}
Flag := 0;
cdsHist_Oc.Close;
cdsHist_Oc.Params[0].AsInteger := iEmpresa;
cdsHist_Oc.Params[1].AsInteger := iMatricula;
cdsHist_Oc.Open;
if not cdsHist_Oc.Locate(´COD_EMP_HOCUP;MATRIC_HOCUP´,
VarArrayOf([iEmpresa, iMatricula]),[loPartialKey]) then Flag := 1;
if Flag = 0 then
begin
{Atualiza Variáveis}
cdsHist_Oc.First;
while not cdsHist_Oc.Eof do
begin
iCodigoHO := cdsHist_Oc.FieldByName(´COD_HOCUP´).AsInteger;
sObsHO := cdsHist_Oc.FieldByName(´OBS_HOCUP´).AsString;
{Insere um novo registro}
cdsHist_Oc.Append;
cdsHist_Oc.FieldByName(´COD_EMP_HOCUP´).AsInteger := iEmpresa;
cdsHist_Oc.FieldByName(´MATRIC_HOCUP´).AsInteger := iMatriculaNova;
cdsHist_Oc.FieldByName(´COD_HOCUP´).AsInteger := iCodigoHO;
cdsHist_Oc.FieldByName(´OBS_HOCUP´).AsString := sObsHO;
{Faz Gravação}
cdsHist_Oc.Post;
cdsHist_Oc.ApplyUpdates(-1);
cdsHist_Oc.Next;
end;
end;
Programadormaster
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)