![]() |
qrmemo problemas con QuickReport
1 Archivos Adjunto(s)
Buenos dias estoy utilizando Delphi 7, manejador de base de datos MS SQL Server 2005,
y quickreport v3.0 la que viene por defecto con delphi 7 Mi problema es el siguiente hago una consulta sql en una tabla llamada temporal para que me seleccione todos los datos y me los ordene a conveniencia del usuario, para esto tengo 2 radiobuttons uno para ordenarlo por numero de cedula y el otro para ordenarlo por lineas, y un boton que lo llame vista previa que es donde coloco esta consulta SQL segun la conveniencia del usuario si seleccionan para ordenarlo por cedula es este codigo si seleccionan para ordenarlo por linea es este el problema aparece cuando es mas de 1 hoja que debe imprimir, porque me imprime en la primera hoja todas las cedulas y en la 2da hoja todos los demas datos que serian: nombres, sexo, etc. adjunto un ejemplo para que vean como sale el reporte, gracias de antemano y ojala puedan ayudarme ya que tengo tiempo hechando cabeza con este error pero no logro llegar a la solucion |
otra cosa el problema aumenta a medida que aumentan las paginas en el reporte
|
necesito ayuda por favor!!!!
|
¿En que parte del programa agregas los datos?, ¿Por que lo haces manual?, pudiendo que el QuickReport lo realice el mismo, ¿Por que utilizas QRMemo, en vez de QRDBText?
Un saludo. |
Como ya te indican tienes que utilizar un QrDbText.
Un Saludo. |
el problema que tengo es que los datos los filtro en un query para que me los ordene como quiero, si probe haciendolo con un QRDBtext pero no me los ordena como quiero sino que me los pasa como estan ordenados por defecto en la base de datos, si saben como hacer para que los datos se agreguen al QReport de manera ordenada con el query como puse el ejemplo anteriormente se los agradeceria.
Un saludo |
alguna idea al respecto?
|
Ya cambie los QRMemo por QRDBText, en la propiedad del dataset del QuickReport lo tengo ligado al query de la consulta, las Bandas que uso en el quickreport para mostrar el reporte son: Page Header, Title, Column Header y un sub detail que en su propiedad de dataset tambien lo tengo asociado al query de la consulta, en el subdetail tengo agregados los QRDBText que necesito para que me muestre los datos, en la propiedad de Autozise, AutoStrech y Wordwrap del QRDBText estan en true, pero aun asi no me muestra ningun dato, lo mas interesante es que me muestra varias paginas pero vacias :s
No se porque sucede esto estoy investigando a ver si consigo la solucion a mi problema, pero les agradeceria si pudieran orientarme un poco hacia la solucion. Gracias de antemano. |
necesito un poco de ayuda..
estube buscando en google y aqui en el foro pero no tengo idea como solucionarlo :confused:
|
Help!
y a mi nadie me ayuda.!!
|
Hola Alej.Villa.
Al igual que te han sugerido yo descartaría los QRMemos. Creo que en tu caso lo que te conviene es usar un TQRBand con su propiedad BandType = rbTitle y un TQRSubDetail asociado al query mediante su propiedad DataSet. En el TQRBand ponés la cabecera del listado y en el TQRSubDetail los campos que deseas encolumnar. Te adjunto una imágen por si te resulta más entendible: ![]() De ese modo sólo debés abrir dm.qLista para generar el reporte, es decir que tu código podría quedar más o menos así: Y
Saludos. |
1 Archivos Adjunto(s)
hola ecfisa la verdad es que deberia "funcionar" de la manera que me dijiste pero lo real es que me da un error y de los feos porque no me dice la causa del problema
Adjunte una imagen del problema a ver si me ayudan con eso :confused: |
Por eso estaba utilizando los QRMemo aunque no me daban un error como tal, si los daba cuando la pagina a mostrar era mas de 1 como mensione al principio del hilo en el archivo adjuntado, lo otro que me paso fue que utilize los QRDBText los enlace a mi query, el QR tambien lo enlace y no me daba ningun error pero no me mostraba ningun dato y la verdad es que estoy quedando casi calvo con este error que llevo tiempo resolviendolo
|
Hola alej.villa.
Aunque generalmente los Access violation se producen por utilizar un recurso no creado o liberar uno inexistente, visto el error, es casi imposible saber el por qué. ¿ Has tratado de circunscribirlo con el uso de Breaks y Trace Into (F7) ? Un saludo. |
no voy a tratar a ver en un ratico vuelvo para comentar lo sucedido
|
ok no quisiera desviarme del tema pero la verdad es que encontre varios .pas que no los encuentra, y son de un componente que me baje para exportar a excel (que por cierto nunca lo use) el componente se llama firesoft o la compañia nose :s
Ok el detalle esta en como los elimino para que no me siga generando errores si no los estoy usando en mi aplicacion? :s |
Hola.
Component -> Install Packages -> Design Packages -> Remove Saludos. |
ya resolvi lo del componente, y el reporte sale en blanco no muestra nada :s no tengo ni idea que pasa
|
Hola.
Hacé una prueba: Poné un TQuickRep, un TQRSubDetail, agrega un TIBQuery, TADOQueyr, TQuery o el componente que uses, dos o tres TQRDBText asignales el query al DataSet y el DataField que deses de la tabla. Desde el Object Inspector asigna la propiedad Database y en la propiedad SQL del query que uses pone: Select * FROM Temporal Order by nombres ASC. Poné la propiedad Active del query = True y presioná el botón derecho del mouse sobre el QuickRep, elegí Preview. Tendrías que visualizar los datos sin problemas Saludos. |
hola ecfisa hice todo paso por paso como me lo indicaste, pero la verdad es que muestra un solo registro :s coloque autostrech = true, autozise = true y worwrap = true y nada enlace todo al query, es decir, el QReport y el QRSubDetails pero nada, solo me aparece el primer registro no muestra mas nada :s
|
Listo compañeros delphistas :D ya quedo solucionado mi problema,
Gracias ecfisa por tus consejos quedo perfecto saludos a todos y gracias por su tiempo :D |
alej.villa, si con toda la información que te ha suministrado, paso por paso, no te funciona, o tienes algo en tu ordenador o ya no se que pensar, utiliza otro ordenador y haz lo mismo con el reporte anterior.
Un saludo. p.d.: algo se te estará pasando, que al final sera una tontería, crea un formulario nuevo en blanco, y empieza desde el principio. |
ups, ya te funiona, dinos lo que estaba mal.
Un saludo. |
Bueno la verdad es que lo que hice fue borrar ese reporte y crear uno nuevo, enlace el reporte al query de la consulta, y los QRDBText tambien los enlace al query y a los campos que queria que mostrara, el error que me sucedio fue que nunca enlace el reporte al query y utilizaba QRMemo que me funcionaban perfecto cuando era una sola hoja, la verdad es que nose porque pasaba eso porque si funcionaba bien con una sola hoja deberia funcionar cuando hayan mas hojas por igual pero no fue asi..
ahora cada vez que genero la consulta salen los datos tal cual los necesito jeje PD: en otro reporte trabajo con QRMemo y no me ha dado rollo (hasta ahora); |
no has probado usar un Qrsubdetail????
|
No entiendo tu pregunta tocomi :confused:
|
Solución
Hola amigo veo que te estas ahogando en un vaso de agua. El reporte que intentas hacer es una de los mas faciles de crear, si embargo te digo tambien te digo que tu codigo no esta del bien optimizado para crear esa simple consulta te explico primero lo de la consulta:
dices que quieres ordenar el query en base al check seleccionado entonces pueder hacer esto: var ordenar:string; begin if Apellidos.checked then ordernar:=' Order by Nombres ASC; if cedula.checked then ordenar:=' Order by Cedula ASC'; dm.qLista.SQL.Clear; dm.qLista.SQL.Add('Select * FROM Temporal'); dm.qLista.SQL.Add(ordenar); dm.qLista.Open; end; asi de simple quedaria tu consulta, ahora para imprimirlo tambien es muy facil, el error que haz cometido anteriormente es que haz puesto un QRBand con su propiedad BandType=rbSubDetail lo cual es incorrecto, el componente QrBand esta bien solo es la propiedad que esta mal, ya que deberia ser rbDetail y ojo tambien con que el QuickRep en su propiedad DataSet Apunte al Query. Componente propiedad valor QuickRep DataSet Query QrBand BandType rbDetail QRDBText las propiedades y valores correspondientes espero te sea útil esta información |
| La franja horaria es GMT +2. Ahora son las 15:08:25. |
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