Ver Mensaje Individual
  #6  
Antiguo 27-11-2012
angel.sosa angel.sosa is offline
Miembro
NULL
 
Registrado: oct 2012
Posts: 22
Reputación: 0
angel.sosa Va por buen camino
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.
Responder Con Cita