Ver Mensaje Individual
  #16  
Antiguo 31-07-2014
Jose Carlos Rey Jose Carlos Rey is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 26
Reputación: 0
Jose Carlos Rey Va por buen camino
Buen día, nuevamente saludándoles y buscando su propuestas. continuo con el programa y como es de esperar nuevas dudas. Ahora mi pregunta seria como hacer que entre en un ciclo While y salga con el click del BitBtn2 y que borre la información que trae el parámetro. Ya que si ingreso otro numero de cliente; en el grid se presenta la información de la ultima consulta. Por lo que hay que cerrar el programa y volver a ejecutarlo. les muestro el código actual y el cual funciona muy bien gracias a sus aportes.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
    Try
      Begin
        If Edit1.Text<>Null Then
          Begin
            DataModule1 := TDataModule1.Create(Self);
            DataModule1.ADOQuery1.Close;
            DataModule1.ADOQuery1.SQL.Clear;
            DataModule1.ADOQuery1.Prepared;
            DataModule1.ADOQuery1.SQL.Add('SELECT a.CVE_CLPV,b.NOMBRE,a.TIP_DOC,a.STATUS,a.CVE_DOC,a.FECHA_DOC,c.CVE_ART AS CLAVE_SAE,e.DESCR AS DESCRIPCION,c.CANT AS PIEZAS,a.NUM_ALMA AS ALMACEN_ORIGEN,c.PREC AS PRECIO,c.TOT_PARTIDA AS TOTAL_PARTIDA,');
            DataModule1.ADOQuery1.SQL.Add('(c.PREC*c.CANT*c.DESC1)/100 AS DESCUENTO_20,');  //DESCUENTO DE 20%
            DataModule1.ADOQuery1.SQL.Add('((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100 AS DESCUENTO_5,'); //DESCUENTO DE 5%
            DataModule1.ADOQuery1.SQL.Add('(((((c.PREC*c.CANT)-(c.PREC*c.CANT*c.DESC2)/100)*c.DESC2)/100)*c.DESC3)/100 AS DESCUENTO_3,'); //DESCUENTO VARIABLE
            DataModule1.ADOQuery1.SQL.Add('(((c.PREC*c.CANT*c.DESC1)/100)+(((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100)) AS SUMA_DESC,'); //SUMA DE DESCUENTOS
            DataModule1.ADOQuery1.SQL.Add('((c.PREC*c.CANT)-((((c.PREC*c.CANT*c.DESC1)/100)+(((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100)))) AS SUBTOTAL,'); //SUBTOTAL TOTAL PARTIDA := SUMA DE DESCUENTOS
            DataModule1.ADOQuery1.SQL.Add('((c.PREC*c.CANT)-((((c.PREC*c.CANT*c.DESC1)/100)+(((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100))))*.16,'); //IVA A PARTIR DEL SUBTOTAL
            DataModule1.ADOQuery1.SQL.Add('((c.PREC*c.CANT)-((((c.PREC*c.CANT*c.DESC1)/100)+(((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100))))+(((c.PREC*c.CANT)-((((c.PREC*c.CANT*c.DESC1)/100)+(((c.TOT_PARTIDA-((c.TOT_PARTIDA*c.DESC1)/100))*c.DESC2)/100))))*.16) AS TOTAL,');  //TOTAL DE FACTURACION
            DataModule1.ADOQuery1.SQL.Add('a.METODODEPAGO AS FORMA_DE_PAGO,a.CVE_VEND AS No_VENDEDOR,d.NOMBRE AS VENDEDOR,a.TIP_DOC_ANT AS DOCUMENTO_ANT,');
            DataModule1.ADOQuery1.SQL.Add('a.DOC_ANT AS FOLIO_DOC_ANT,a.TIP_DOC_SIG AS DOCUMENTO_SIG,a.DOC_SIG AS FOLIO_DOC_SIG');
            DataModule1.ADOQuery1.SQL.Add('FROM FACTF02 a');
            DataModule1.ADOQuery1.SQL.Add('INNER JOIN CLIE02 b');
            DataModule1.ADOQuery1.SQL.Add('ON a.CVE_CLPV=b.CLAVE');
            DataModule1.ADOQuery1.SQL.Add('INNER JOIN PAR_FACTF02 c');
            DataModule1.ADOQuery1.SQL.Add('ON a.CVE_DOC=c.CVE_DOC');
            DataModule1.ADOQuery1.SQL.Add('INNER JOIN VEND02 d');
            DataModule1.ADOQuery1.SQL.Add('ON a.CVE_VEND=d.CVE_VEND');
            DataModule1.ADOQuery1.SQL.Add('INNER JOIN INVE02 e');
            DataModule1.ADOQuery1.SQL.Add('ON c.CVE_ART=e.CVE_ART');
            DataModule1.ADOQuery1.SQL.Add('WHERE LTRIM(a.CVE_CLPV)='+QuotedStr(Edit1.Text));
            DataModule1.ADOQuery1.ParamCheck:=True;
            DataModule1.ADOQuery1.Open;
            Form2 := TForm2.Create(Self);
            Form2.Showmodal;
            Form1.Edit1.Clear;
            Form1.Edit1.Text:='';
            Form1.Edit1.SetFocus;
          End
        Else
        ShowMessage('Ingresa el Cliente por favor');
      End
    Except
      ShowMessage('Lo siento no pude abrir la base de datos');
    End
End;

Me despido agradeciendo sus comentarios
Responder Con Cita