listo ya esta resuelto
Código Delphi
[-]while not IBQuery1.Eof do
begin
if((StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) > 50) And (StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) <= 10000) And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> '7') And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> 'TELEMARKETING')) then
begin
ShowMessage('Encontre uno Sin Descuento ' + IBQuery1.FieldByName('CLAVE_CTE').AsString);
IBQuery4.SQL.Add('UPDATE PRECIOS_CLI_CLI');
IBQuery4.SQL.Add('SET POLITICA_DSCTO_ART_CLI_ID = '+ Char(39)+'48'+Char(39)+' ');
IBQuery4.SQL.Add('WHERE CLAVE_CLIENTE ='+Char(39)+ IBQuery1.FieldByName('CLAVE_CTE').AsString +Char(39)+ ' ');
IBQuery4.ExecSQL;
end;
if((StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) > 40) And (StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) <= 50) And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> '7') And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> 'TELEMARKETING')) then
begin
ShowMessage('Encontre un DESCUENTO 4' + IBQuery1.FieldByName('CLAVE_CTE').AsString);
IBQuery4.SQL.Add('UPDATE PRECIOS_CLI_CLI');
IBQuery4.SQL.Add('SET POLITICA_DSCTO_ART_CLI_ID = '+ Char(39)+'11246'+Char(39)+' ');
IBQuery4.SQL.Add('WHERE CLAVE_CLIENTE ='+Char(39)+ IBQuery1.FieldByName('CLAVE_CTE').AsString +Char(39)+ ' ');
IBQuery4.ExecSQL;
end;
if((StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) > 30) And (StrToInt(IBQuery1.FieldByName('DIAS_EN_PAGAR').AsString) <= 40) And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> '7') And (IBQuery1.FieldByName('POLITICA_ACTUAL').AsString <> 'TELEMARKETING')) then
begin
ShowMessage('Encontre un DESCUENTO 3' + IBQuery1.FieldByName('CLAVE_CTE').AsString);
IBQuery4.SQL.Add('UPDATE PRECIOS_CLI_CLI');
IBQuery4.SQL.Add('SET POLITICA_DSCTO_ART_CLI_ID = '+ Char(39)+'11245'+Char(39)+' ');
IBQuery4.SQL.Add('WHERE CLAVE_CLIENTE ='+Char(39)+ IBQuery1.FieldByName('CLAVE_CTE').AsString +Char(39)+ ' ');
IBQuery4.ExecSQL;
end;
IBQuery1.Next;
IBQuery4.SQL.Clear;
end;
tenia que limpiar el IBQuery4 para cada una de las vueltas. y en vez de usar IBQuery4.Open use IBQuery.ExecSQL.