![]() |
Notas de session I aperecen en qrdbtext1 y session II aparecen en qrdbtext2
Saludos los amigos del foro
mi problema es que estoy haciendo un reporte de recuerdo de nota, hay materias de session I y las de session II. Quiero que las notas de lo del session I aperecen en el qrdbtext1 y las de la session II aparecen en el qrdbtext2 que me ajuden porfavor |
Nuestra bola mágica está averiada, así que tendrás que explicarte mejor ;)
|
Reporte de recuerdo de nota
¿Te refieres a un listado o solo presentar información en un grid? materias de sesion I y II ¿Son tablas, registros de una tabla, otra cosa? qrdbtext1 / 2 Parecen componentes DBEdit, pero suponer suele derivar en errores... ¿Qué problema tienes?
Si es una de los dos primeros puntos, muéstranos parte del código que ya tengas. |
problema conreporte
es que es un reporte que me imprima los recuerdo de nota de un estudiante en la universidad,
bien el ano tiene dos sessiones, session I y session II yo quiero que las notas de las materia del session I sale en un qrdbtext y las de las sessione II sale en otro qrdbtext los codigos que yo puse son esas pero no me funcionan FRMRELEVE.QuickRep1.DataSet:=ADOQuery1; FRMRELEVE.QRDBText1.DataSet:= ADOQuery1; FRMRELEVE.QRDBText1.DataField:='description' ; if ADOQuery1.FieldValues['cession'] ='II' then begin FRMRELEVE.QRDBText3.DataSet:= ADOQuery1; FRMRELEVE.QRDBText3.DataField:='notetotal'; end else if ADOQuery1.FieldValues['cession'] ='I' then begin FRMRELEVE.QRDBText2.DataSet:= ADOQuery1; FRMRELEVE.QRDBText2.DataField:='notetotal'; end; |
Lamentablemente, sigo sin entender.
¿Cuando dices "no me funciona" a qué te refieres?
En el primer caso, deberías decirnos cuál es el error. El texto completo y sin traducir es lo ideal. En el segundo caso deberías decirnos qué es lo que esperas y qué es lo que hace el programa. En el tercer caso deberás explicar con detalle tu caso. De todos modos, veo que asignas el DataSet y el campo a los QRDBText, pero nunca los desasignas. Si primero cesion='I' asignará a uno de los QRDBText Si luego cesion='II' asignará al otro QRDBText, pero el primero también estará asignado. Quizás deberías inicializarlos antes del IF.
|
problema con reporte
Okey
me refiero a un reporte que estoy haciendo que me imprima todas las notas de estudiantes hay dos sessiones en año. quiero que si la campos son materia, session, notatotal en mi reporte uso un qrdbtext1 que recibe la materia, otro qrdbtext2 y qrdbtext3 quiero que si la materia es de session I que la notatotal aparece en el qrdbtext2 y si la materia es de session II que la notatotal aparece en el qrdbtext3 |
Te falta responder a lo más importante:
Cita:
|
problema con reporte
Lo que hizo es, es que el la note se puso donde que apunto el dataset
me explico, en el dbgrid si la flechita se encuentra en un registro donde la session es session II todas las notas se refleja debajo el qrdbtext3 et si se apunta en un registro de session I todas las notas se puso debajo del qrdbtext2 esque el codigo toma en cuenta donde que se apunto el dataset digi yo |
No entiendo si lo que explicas en el último mensaje
En el código que muestas en un mensaje anterior, asignas el DataSet según el valor de un campo del ADOQuery. Si el DBGrid está unido al ADOQuery, dependiendo del registro dónde estés posicionado, verás cosas en QRDBText3 o QRDBText2. |
problema con reporte
si quisiera algo distintos
lo que yo quisiera que sucede es que todas las notas de las materias del session I aparecen en el qrdbtext2 y las de las materias del session II aparecen en el qrdbtext3 |
Creo que no has leido nuestra guía de estilo, en particular el punto 7
Cita:
![]() |
Supongo que en ese caso puedes jugar con la propiedad Visible del componente TQRDBtext.
No utilizo QuickReport, pero seguro que tiene esta posibilidad. Lo que no estoy seguro es dónde establecer el valor para esa propiedad. Código:
[QRDBText1] [QRDBText2] [QRDBText3]
|
problema con reporte
bueno es exactamente asi que la quiero
sin embargo el codigo no me resulto. lo que hizo es en el dbgrid1 si esta apuntado en el registro del session II al tirar el reporte todas las notas salen en qrdbtext3 sino me salen en qrdbtext2. eso quiere decir que esta tomando en cuenta en que registro esta apuntado el dataset |
Lo que hago yo con los reportes es tener un DataSet para ellos mismos.
Los componentes del Form (DBNavigator, DBGrid, DBEdit, etc.) tiran de un DataSource que a su vez tira de un DataSet. Este DataSet se utiliza para hacer las inserciones, modificaciones y bajas. Para los listados tengo otro DataSet que previo al listado se filtra según lo que se desee listar. De esta manera, el DataSet de trabajo mantiene la posición y estado, mientras el DataSet de listado se va moviendo por los registros filtrados. En tu caso, parece que el DataSet de trabajo es ADOQuery1. Prueba crear un segundo DataSet ADOListado, en el que estén los registros que quieres listar. El QuickReport y los componentes QRDBText deben tirar de ADOListado. Utiliza QuickRep1BeforePrint para poner en visible/invisible el componente que corresponda a medida que va avanzando por los registros a listar. Mirando en internet, he visto que también exite el método OnBeforePrint para la banda. http://www.admind.info/help/system/i...ml?tqrband.htm Supongo que es allí donde debes poner el código, ya que la banda es la que va pasando por cada registro y es en ese momento donde el valor de cession es el del regisro que se está imprimiendo.
|
La franja horaria es GMT +2. Ahora son las 01:45:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi