Ver Mensaje Individual
  #23  
Antiguo 24-01-2014
Jorge Orozco Jorge Orozco is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 25
Reputación: 0
Jorge Orozco Va por buen camino
Smile

Quiero agradecer a todos;psque me dieron una luz, para poder resorver mi problema. Ya lo pude resolver. Aqui les dejo el procedimiento por si alguien lo va a nacesitar en algun momento. De nuevo gracias a todos.

Código Delphi [-]
procedure TMovimiento_Pedidos.desglose_articulo_ventas;
var conte, i, c1, fec1, fec2 : integer;
    compras3, estado1, fec0 : string;
    fecha1, fecha2 : string; //TdateTime;
    fe1, fe2 : TDateTime;
    Ano, Mes, Dia : Word;
begin
  estado1 := 'ANULADO';
  fecha1 := datetostr(fechaini.DateTime);
  fecha2:= datetostr(fechafin.DateTime);
  c1 := 0;

  IBQuery4.Close;
  IBQuery4.SQL.Clear;
  IBQuery4.SQL.Add('select count(*) as entradas from ARTICULOS a inner join FACTURADT b on (b.FAARID = a.ARID) '+
                   'inner join FACTURAS c on (c.FAID = b.FAID) and (c.FAESTADO <> '''+estado1+''') and (c.FAFCH between '''+fecha1+''' and '''+fecha2+''')  '+  //
                   ' where a.ARCODIGO = '''+Codigo_Prod.Text+'''');
                   //' where a.ARCODIGO LIKE '+QuotedSTr('%'+Codigo_Prod.Text+'%')); //a.ARNOMBRE LIKE'+QuotedSTr('%'+nombre_prod.Text+'%'));
  IBQuery4.Prepare;
  IBQuery4.Open;
  begin
    conte :=  IBQuery4.FieldByName('entradas').AsInteger;

    IBQuery4.Close;
    IBQuery4.SQL.Clear;
    IBQuery4.SQL.Add('select  extract(year from c.fafch) annio, extract(month from c.fafch) mess, sum(b.facantidad) total_mes '+
                       'from ARTICULOS a inner join FACTURADT b on (b.FAARID = a.ARID) '+
                       'inner join FACTURAS c on (c.FAID = b.FAID) and (c.FAESTADO <> '''+estado1+''') and (c.FAFCH between '''+fecha1+''' and '''+fecha2+''') '+
                       'where  a.ARCODIGO = '''+Codigo_Prod.Text+''' group by 1,2 order by 1,2 ');


    IBQuery4.Prepare;
    IBQuery4.Open;
  end;

  c1 := 0;
  IBQuery4.First;
  while not Movimiento_Pedidos.IBQuery4.EOF do
    begin
      begin
        sg1.Cells[1+c1,3] := IBQuery4.FieldByName('mess').AsString+'-'+IBQuery4.FieldByName('annio').AsString;
        sg1.Cells[2+c1,3] := IBQuery4.FieldByName('total_mes').AsString;
        c1 := c1+2;
      end;
      IBQuery4.Next;
    end;
end;

El problema estaba, en que no estaba utilizando el while, y lo que utilizaba era el for.


Gracias.
Responder Con Cita