PDA

Ver la Versión Completa : Quickreport q solo muestra el primer registro


fonx
07-12-2007, 14:17:59
Hola, tengo varios qr, y todos menos uno me muetran los registros bien. Los que van bien tienen banda title y banda detail, con un TQRDBRichText que muestra los memo correspondientes a los n registros. Y los datos los cojo mediante una conexion ADO y un TADOQuery.

El que funciona mal (solo muestra el primer registro, todos los campos del registro) es igual solo que en vez del TQRDBRichText tengo varios TQRDBText1 y las bandas Title, column header y detail. En el header tengo unas etiquetas normales.

Bueno pues no se que puede ser, si una propiedad mal puesta (yo creo q está todo bien), si tendría q usar los group....Es simplemente una lista de n registros, cada registro tiene un número determinado de campos ¿Alguna opinión? :confused:

enecumene
07-12-2007, 14:23:19
Hola, verificate que la propiedad dataset del quickreport tiene el adoquery correspondiente de lo contrario solo te mostrara el primer registro.

Saludos.

megaredoxk
07-12-2007, 16:04:56
saludos, compañero no creo que tu problema sea del Qreport tienes que verificar el trozo de còdigo que tienes para la base de datos, la cual se comunica con el Qreport, estas guardando un solo registro????


El que funciona mal (solo muestra el primer registro, todos los campos del registro) es igual solo que en vez del TQRDBRichText tengo varios TQRDBText1 y las bandas Title, column header y detail. En el header tengo unas etiquetas normales:confused:

es solo un registro o todos los campos de los registros??????

de todas maneras, lo que alcanzo a entender y opino es que verifiques el còdigo fuente que hace el guardado en la base de datos

fonx
10-12-2007, 09:45:02
Todo lo que comentais:

- dataset y datafield
- que haya varios registros en la base de datos
- el código fuente...

está todo bién, como os dije, tengo otros informes q me muestran varios registros, cada registro en un QRDBRichText y un único campo por registro, sin embargo este informe q tiene varios campos por registro y q van cada uno a una TQRDBText no funciona bien.

Yo pienso q puede q sea un bug del delphi o del paquete QuickReport, estoy usando Delphi 5 (muy a mi pesar) y puede q tenga algún fallo.

Voy a seguir haciendo pruebas, y si finalmente no se corrige tendré q meterle un RichText al informe y confeccionar el informe desde fuera, es decir consultando a la base de datos fuera del informe y añadiendo líneas al RichText.

fonx
10-12-2007, 10:23:52
vamos a rectificar...vamos a rectificar....:rolleyes:

Bueno, las QRDBText estaban con su dataset y datafield correcto, peeeeero el informe en si no tenía la propiedad dataset puesta.

Ahora muestra los registros, pero no me acaba de encajar porque si la propiedad dataset del informe no estaba puesta me mostraba el primer registro en lugar de no mostrar nada de nada.

Bueno ahora me falta mirar otros detalles. Necesitaba pasar el nombre de la tabla como parámetro pero no va. Tengo un parámetro en la parte WHERE que funciona bien, pero cuando pongo el nombre de la tabla como parámetro en la parte FROM me da error...a ver, esto es el cuento de nunca acabar...:(

fonx
10-12-2007, 10:39:59
Bueno, sobre esto último q dije, paso de investigar si puedo o no pasarle el nombre de la tabla como parámetro. La SQL del ADOQuery la confecciono fuera del informe y se la paso ya entera, sin parámetros ni nada, luego solo hay q activar la query...no es una mala solución :)

Lepe
10-12-2007, 12:42:56
Tienes razón, normalmente no se le puede pasar en la cláusula FROM un parámetro, es mejor usar constantes y formatear la sql.

const strSqlGeneral = 'select %s from %s where %s = %s';
...
query1.sql.text := Format(strSqlGeneral, [ '*', 'NombreTabla', 'NombreCampo', QuotedStr('valorDelCampo')]);
query1.sql.Add(' and fecha between :fini and :ffin');
query1.parameteres.parambyname('fini').Value := datetimepicker1.date;
query1.parameteres.parambyname('ffin').Value := datetimepicker2.date;


Edito: Aunque esto es totalmente compatible con parámetros si se quiere.

Saludos

Gabo
10-12-2007, 16:25:08
Hola Lepe, al final me lié con tu edición.:confused:

¿Se puede o no pasar el nombre de la tabla como parámetro? Mera curiosidad.

Lepe
10-12-2007, 21:10:59
con Parambyname no.

Usando otra técnica, como formatear constantes, si se puede.

Saludos

Gabo
11-12-2007, 11:28:28
Gracias por la aclaración. :)

Esta frase me había liado:


Edito: Aunque esto es totalmente compatible con parámetros si se quiere.