hola amigos tengo un problema que no tengo idea de que hacer, tengo un cliclo while que se encarga de recorrer los datos desplegados en un DBgrid, el cual utiliza una combinación de datos de varias tablas mediante un IBQuery1. todo eso se despliega mediante un boton "Consultar".
el problema es q tengo un boton modificar que debe recorrir la informacion filtrada y desplegada en el DBgrid.
Pero al intentar Actualizar con otro IBQuery4 al cumplirse la condicion deseada me marca "Token UNkNOWn" Line 2.1
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.Open;
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.Open;
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.Open;
end;
IBQuery1.Next;
end;