• Domingo 22 de Diciembre de 2024, 07:56

Autor Tema:  Error Stack Overflow En Reporte  (Leído 2370 veces)

ioriyagami80

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Error Stack Overflow En Reporte
« en: Miércoles 27 de Febrero de 2008, 01:20 »
0
ANTES QUE NADA ESPERO QUE TODOS ESTEN BIEN, Y BUENO RECURRO A USTEDES POR QUE TENGO UN PROBLEMA CON UN REPORTE DE QUICKREPORT Y DELPHI PUES ME MANDA EL SIGUIENTE ERROR

STACK OVERFLOW

ES UN FORMULARIO MIDI EN DONDE TENGA UN CHEKLISTBOX, AHI EL USUARIO SELECCION LOS VENDEDORES DE LOS CUALES QUIERE SABER LA VENTA POR UN RAGO DE FECHAS AL SELECCIONAR LOS VENDEDORES, ESCRIBE LAS FECHAS EN DOS MASKEDIT Y LUEGO AL DAR CLIC EN EL BOTON MANDO LOS VENDEDORES SELECIONADOS A UN LISTBOX Y DE AHI LOS TOMO PARA AGREGARLOS EN LA CONSUTLA QUE DA LOS DATOS AL REPORTE, USO ACCESS COMO BASE DE DATOS Y BUENO AL PRIMER INTENTO NO HAY PROBLEMA TODO SALE BIEN PERO SI QUIERO ALGUN OTRO REPORTE DE OTROS VENDEDORES ES CUANDO ME MANDA EL ERROR, CABE SEÑALAR QUE EN EL REPORTE TENGO UN ADOQUERY Y QRTCHAR PARA UNA GRAFICA TIPO PYE
ESTE ES MI CODIGO DE COMO LE DOY VALORES AL CHECKLISTBOS DE AHI AL LISTBOX Y DE AHI AL REPORTE

CON EL SUIGNETE CODIGO

var
 fmtWhere:STRING;
 Elemento:INTEGER;
I:INTEGER;
 X:INTEGER;
VAR1:STRING;
  Form22: TForm22;

implementation

uses PAGXGEST;

{$R *.dfm}

procedure TForm22.FormCreate(Sender: TObject);
begin
ADOQUERY1.Close;
ADOQUERY1.SQL.Clear;
ADOQUERY1.SQL.Add('SELECT GESTINT FROM CLIENTES GROUP BY GESTINT');
ADOQUERY1.Open;
   CHECKLISTBOX1.Items.Clear;
   While not ADOQUERY1.Eof do
   begin
      CHECKLISTbox1.Items.Add(ADOQUERY1.Fields[0].Text);
ADOQUERY1.Next;
   end;
end;

procedure TForm22.SpeedButton1Click(Sender: TObject);
begin
 fmtWhere:='"%S"';
LISTBOX1.Items.Clear;
FOR Elemento:=0 TO CheckListBox1.Items.Count -1 DO
BEGIN
IF CheckListBox1.Checked[Elemento] THEN
BEGIN
LISTBOX1.Items.Add(CheckListBox1.Items.Strings[Elemento]);
end;
END;
VAR1:='';
 for I := 0 to ListBox1.Items.Count - 1 do
 BEGIN
    if VAR1 = ''    then
    BEGIN
    VAR1 := Format(fmtWhere,[ListBox1.Items]);
    END
    else
    BEGIN
     VAR1 := VAR1 + ',' +Format(fmtWhere,[ListBox1.Items]);
    END;
    END;
REPPAGXGEST.ADOQuery1.Close;
REPPAGXGEST.ADOQuery1.SQL.Clear;
REPPAGXGEST.ADOQuery1.SQL.Add('SELECT SUM(PAGO) AS PAGO, GESTOR FROM REPORTEREC');
REPPAGXGEST.ADOQuery1.SQL.Add('WHERE GESTOR IN ( '+VAR1+') AND FPAG>=:LO AND FPAG<=:LA');
REPPAGXGEST.ADOQuery1.SQL.Add('GROUP BY GESTOR ORDER BY SUM(PAGO) DESC');
REPPAGXGEST.ADOQUERY1.Parameters.ParamByName('LO').Value:=STRTODATE(MASKEDIT1.TEXT);
REPPAGXGEST.ADOQUERY1.Parameters.ParamByName('LA').Value:=STRTODATE(MASKEDIT2.TEXT);
REPPAGXGEST.ADOQuery1.Open;
REPPAGXGEST.QRLabel5.Caption:=MASKEDIT1.Text;
REPPAGXGEST.QRLabel8.Caption:=MASKEDIT2.Text;
REPPAGXGEST.Preview;
FORM22.Close;
end;

OJALA PUEDAN AYUDARME, MIL GRACIAS A TODOS