Ver Mensaje Individual
  #11  
Antiguo 17-02-2023
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Reputación: 21
mRoman Va por buen camino
Me contesto solo...

Cita:
Empezado por mRoman Ver Mensaje
Ok, utilice tu recomendación Casimiro, pero como le hago para que siga con el proceso?. En cuanto encuentra la Excepción se detiene y ya no continua.

Aqui el código con el cual estoy haciendo pruebas:
Código Delphi [-]
procedure TfrmPDF.Panel1Click(Sender: TObject);
var
   Importe_Flo : Real;
   Importe_Str : String;
begin
               //COPIAR IMPORTES NUMERICOS VALIDOS AL CAMPO paso_ing_importe
        try
               qryImportesNoNum.Close;
               qryImportesNoNum.ParamByName('CT').AsString:=''+IntToStr(cbxCT.KeyValue)+'%';
               qryImportesNoNum.Open;
               qryImportesNoNum.Last;
               pBar3.Max:=qryImportesNoNum.RecordCount;
               qryImportesNoNum.First;

               While not(qryImportesNoNum.Eof) do
               begin
                     Importe_Str:=StringReplace(qryImportesNoNum.FieldByName('paso_pdf_importe').AsString,',','',[rfReplaceAll]);
                     StrToFloat(Importe_Str);
                     ShowMessage( Importe_Str);

                    { qryActImporte.Close;
                     qryActImporte.SQL.Clear;
                     qryActImporte.SQL.Add('UPDATE paso '+
                                            'SET paso_ing_importe=:importe '+
                                            'WHERE paso_pdf_id=:id');
                     qryActImporte.ParamByName('id').AsInteger:=qryImportesNoNum.FieldByName('PASO_PDF_ID').AsInteger;
                     qryActImporte.ParamByName('importe').AsFloat:=StrToFloat( StringReplace(qryImportesNoNum.FieldByName('paso_pdf_importe').AsString,',','',[rfReplaceAll]) );
                     qryActImporte.ExecSQL;}
                     qryImportesNoNum.Next;
                     pBar3.Position:=pBar3.Position+1;
               end;
        except
            ON Exception DO
            BEGIN
                Memo2.Lines.Add(chr(13)+'------IMPORTE NO NUMERICO-------');
                Memo2.Lines.Add('Registro No.: '+qryImportesNoNum.FieldByName('paso_pdf_id').AsString);
                Memo2.Lines.Add('Texto Importe: '+qryImportesNoNum.FieldByName('PASO_PDF_IMPORTE').AsString);
            END;
        end;
end;

El TRY debo ponerlo dentro del While??
Pues eso, me contesto solo.

Coloque el TRY dentro while...y ejecuta sin problema:

Aqui el código:

Código Delphi [-]
procedure TfrmPDF.Panel1Click(Sender: TObject);
var
   Importe_Flo : Real;
   Importe_Str : String;
begin
               //COPIAR IMPORTES NUMERICOS VALIDOS AL CAMPO paso_ing_importe
//        try
               qryImportesNoNum.Close;
               qryImportesNoNum.ParamByName('CT').AsString:=''+IntToStr(cbxCT.KeyValue)+'%';
               qryImportesNoNum.Open;
               qryImportesNoNum.Last;
               pBar3.Max:=qryImportesNoNum.RecordCount;
               qryImportesNoNum.First;

               While not(qryImportesNoNum.Eof) do
               begin
                  try
                     Importe_Str:=StringReplace(qryImportesNoNum.FieldByName('paso_pdf_importe').AsString,',','',[rfReplaceAll]);
                     StrToFloat(Importe_Str);
                     ShowMessage( Importe_Str);

                    { qryActImporte.Close;
                     qryActImporte.SQL.Clear;
                     qryActImporte.SQL.Add('UPDATE paso '+
                                            'SET paso_ing_importe=:importe '+
                                            'WHERE paso_pdf_id=:id');
                     qryActImporte.ParamByName('id').AsInteger:=qryImportesNoNum.FieldByName('PASO_PDF_ID').AsInteger;
                     qryActImporte.ParamByName('importe').AsFloat:=StrToFloat( StringReplace(qryImportesNoNum.FieldByName('paso_pdf_importe').AsString,',','',[rfReplaceAll]) );
                     qryActImporte.ExecSQL;}
                  except
                      ON Exception DO
                      BEGIN
                          Memo2.Lines.Add(chr(13)+'------IMPORTE NO NUMERICO-------');
                          Memo2.Lines.Add('Registro No.: '+qryImportesNoNum.FieldByName('paso_pdf_id').AsString);
                          Memo2.Lines.Add('Texto Importe: '+qryImportesNoNum.FieldByName('PASO_PDF_IMPORTE').AsString);
                      END;
                  end;

                  qryImportesNoNum.Next;
                  pBar3.Position:=pBar3.Position+1;

               end;
end;
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita