Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Campos Repetidos en QReport (https://www.clubdelphi.com/foros/showthread.php?t=26352)

jdangosto 20-10-2005 08:52:07

Campos Repetidos en QReport
 
Buenas.

Tengo un informe que me repite datos. Los datos mostrados en el informe son tomados de una consulta en un formulario externo a la cual se le pasan parametros (Eso es otra historia, ya que en el SQLExplorer la fecha la toma con formato Inglés mm/dd/aaaa y en la toma de datos del form ha de ser dd/mm/aaaa).

A lo que iba, la consulta es la siguiente:
Código SQL [-]
SELECT Combus, Matricula, Fecha, Precio, Litros, Repost_vehic."Precio Total"
FROM "repost_vehic.DB" Repost_vehic
where (origen = 'Gasolinera Cepsa')and (fecha >= '09/01/2005') and (fecha <= '09/30/2005')

Los datos se lo paso a la consulta de la siguiente forma:
Código Delphi [-]
query_gasoil.ParamByName('ini').AsDate := strtodate (edit1.Text);
query_gasoil.ParamByName('fin').AsDate := strtodate(edit2.Text);

En el Informe, cada QRDBText está vinculado a un campo de la consulta.
El informe muestra los datos, pero me devuelve dos campos repetidos.

¿Me podéis hechar una mano?

Gracias

vtdeleon 20-10-2005 13:37:22

SAludos

A primera vista no veo nada error en la consulta. Bueno, en la consulta das un rango de fecha, supongo que se espera mas de un registro(o no?:confused: )

Enlaza el Dataset ocn un DBgrid y chequea a ver si te muestras estos campos repetidos

Lepe 20-10-2005 17:26:33

En principio hablas de que le pasas parámetros a la consulta, pero en la consulta no tienes parámetros, tienes fechas por defecto. :confused:

Por otra parte, en lugar de usar TEdits para que el usuario introduzca una fecha, es mejor que uses un TDateTimePicker, así evitas la posibilidad de que el usuario eliga una fecha inválida.

Dices que el informe te envía 2 campos repetidos.... ¿a que te refieres con campos? un campo sería "precio total", o bien matricula, fecha etc.

Si obtienes 2 filas de datos completamente iguales, se trata de 2 registros distintos, y por ende tambien estarán repetidos en la base de datos.

saludos

jdangosto 21-10-2005 08:48:07

Buenas.

Esta es la consulta con los parámetros que le paso y de qué forma:
Código Delphi [-]
SELECT Combus, Matricula, Fecha, Precio, Litros, Repost_vehic."Precio Total"
FROM "repost_vehic.DB" Repost_vehic
where (origen = :ori)and (fecha >= :ini) and (fecha <= :fin)

Lo del DateTimePicker no lo había pensado, mirare a ver que tal me va con el.

Como indica Lepe en su respuesta, lo que me repite son filas completas con los mismos datos, pero he comprobado los registros de la BD y no están repetidos.

Lo intentare con el Dbgrid y el DateTimePicker

Lepe 21-10-2005 11:05:41

La consulta es bastante simple, accedes a una sola tabla y haces un filtro en la parte WHERE. Es imposible que repita registros.

Supongo que la tabla tendrá una clave primaria, añadela al SELECT, para localizar mejor esos registros repetidos y despues mirarlos en la BBDD.

Como estas viendolo a través de un QuickReport, mira la impresora a ver si por defecto la impresora tiene "imprimir 2 copias".

Otra posible causa de repetición, es que uses una banda Detalle y otra Subdetalle, ambas haciendo uso de la misma consulta. Para esto debería haber dos QRDBTEXT repetidos.

saludos


La franja horaria es GMT +2. Ahora son las 23:43:50.

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