Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Quickreport al dia de la fecha (https://www.clubdelphi.com/foros/showthread.php?t=83560)

DOS 01-07-2013 01:57:02

Quickreport al dia de la fecha
 
Hola a todos, resulta que tengo una tabla en Delphi 7(Ttable16) en un formulario(tform27) que se muestra en un DBGrid y un boton imprimir de donde salen dos opciones, imprimir todo o del dia (o sea el dia de la fecha de hoy), para el general no hay problemas imprime todo el registro el asunto es el diario, la tabla contiene un campo fecha del tipo date. En el boton diario puse lo siguiente
Código Delphi [-]
procedure TForm27.BitBtn2Click(Sender: TObject);
begin
Form29.Quickrep1.Preview;// va al formulario en donde se mostrara
Form27.Close;    //cierra el formulario que contiene los botones de opcion
 Form29.Query1.Close;
 Form29.Query1.SQL.Text:= 'SELECT * FROM turnopelu.DB'; //tabla a mostrar
 Form29.Query1.SQL.Add('Where Fecha = DateTime'); // comparar la fecha con el dia de hoy, tambien probe con Now
 Form29.Query1.Active:=true;
end;
En el formulario 29 tengo un Query
y un DataSet Relacionado con el Query
El asunto que los QRDBText Tienen el Dataset de la tabla original (Form16.Table1) pero creo que el problema esta en el Where.
Agradesco cualquier ayuda.

ecfisa 01-07-2013 02:32:46

Hola DOS.

No podes pasar un valor de ese modo a una consulta SQL.

O compones la cadena previamente, o mejor aún, le envias el valor como parámetro:
Código Delphi [-]
procedure TForm27.BitBtn2Click(Sender: TObject);
begin
  Form29.Quickrep1.Preview;// va al formulario en donde se mostrara
  Form27.Close;    //cierra el formulario que contiene los botones de opcion
  with Form29.Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM TURNOPELU');
    SQL.Add('WHERE FECHA = :PFECHA');
    ParamByName('PFECHA').AsDate := Now;
    Open
  end;
  ...
end;

Saludos. :)

DOS 01-07-2013 03:07:19

ecfisa, gracias por tu ayuda, lo que me esta mostrando es el ultimo dato cargado, sea o no la fecha de hoy o si tengo mas de un dato con la fecha actual solo muestra el ultimo registro, es como si solamente se posisionara en el ultimo registro.
:confused: que podra ser?

ecfisa 01-07-2013 04:38:30

Hola DOS.

Releyendo el código veo algo que se me escapó en la primera lectura... Creo que debería ser:
Código Delphi [-]
procedure TForm27.BitBtn2Click(Sender: TObject);
begin
  Form27.Close;    //cierra el formulario que contiene los botones de opcion
  // Abrir Form29 (si fuera necesario)
  with Form29.Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM TURNOPELU');
    SQL.Add('WHERE FECHA = :PFECHA');
    ParamByName('PFECHA').AsDate := Now;
    Open;
    Quickrep1.Preview; // Previsualizar los resultados.
  end;
  ...
end;

Saludos. :)

DOS 08-07-2013 01:55:49

Gracias ecfisa, hoy lo estaba probando y te digo que casi funciona :D el asunto es que si tengo dos, tres o la cantidad que fuere de datos con la fecha de hoy, me muestra solamente el ultimo registro repetido tantas veces como datos cargados hoy hubiere, asi ahi se complico un poquito, una ayudita mas por favor.

AzidRain 08-07-2013 02:00:56

Está mal hecho tu reporte. Nada tiene que ver con el query el cual está bien. Revisa que hayas colocado al menos una banda tipo "detail" y que el reporte este ligado correctamente al query.

DOS 08-07-2013 03:06:04

te adjunto una imagen

DOS 14-07-2013 17:44:22

Alguna manito mas con esto, por favor.:o

AzidRain 14-07-2013 17:51:02

Ya verificaste que el Reporte tenga la propiedad Dataset o Master asignada al mismo que cada DBlabel?

DOS 26-07-2013 05:18:57

Disculpa la demora, gracias, tenias razon no estaba bien la propiedad.


La franja horaria es GMT +2. Ahora son las 00:52:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi