![]() |
Impresion Quick Report con consulta SQL
Buenos dias compañeros del foro, Tengo una aplicación en Delphi 7 con SQL-2000 trabajo en Windows Xp sp2
Soy bastante nuevo en Delphi, he estado experimentando con quick report con los ejemplos Q2 Y Q3 pude ubicarme en mas o menos como crear un reporte y enviar a imprimir, Yo utilizo consultas de SQL para pasar los datos, utilizando Tquery y tengo la siguiente: Pero me da el problema de que solo un registro, el ultimo, alguien me podria dar una luz de que estoy haciendo mal? sql_necesidades es el Tquery y fm_rpt_necesidades es la forma donde esta el TQuickRep Desde ya muchas gracias por toda la ayuda |
Hola
No estoy seguro del por que el ultimo, normalmente cuando no se conecta el Dataset del QReport lo que muestra es solo el primero. Si no es el dataset, puede ser algun problema con la consulta. Saludos |
Por qué no visualizas la consulta en una rejilla provisionalmente, puede ser que por algún motivo como apunta Carlos solamente te esté devolviendo un registro.
Un Saludo. |
Estoy seguro de que la consulta no tiene ningun problema, porque la tengo en un DataGrid previo
|
Ya asignaste la propiedad DataSet del QReport al sql_necesidades :confused:
Salud OS |
Si lo asigne aca
ejecutar_con_active(fm_rpt_necesidades.sql_necesidades, query); report.DataSet:=fm_rpt_necesidades.sql_necesidades; **** No si asi es lo correcto |
Hola
En el codigo aparece la palabra Query en donde esta la sentencia sql. Pregunto: Query esta referenciado a fm_rpt_necesidades.sql_necesidades Osea sql_necesidades esta ligado a query?, donde? Saludos |
Cita:
Es necesario que lo hagas en tiempo de ejecución ?, No te basta colocarlo en tiempo de diseño? Salud OS |
Cita:
query:='SELECT CODIGO, DESCRIPCION, ANCHO, '+ 'LARGO, CANTIDAD '+ 'FROM RESUMEN_NECESIDADES_ESPUMA WHERE CANTIDAD>0 '+ 'ORDER BY N.CODIGO, ANCHO, LARGO, EXISTENCIA '; end; ejecutar_con_active(fm_rpt_necesidades.sql_necesidades, query); esta referenciado en el ejecutar_con_active que es una funcion para realizar la consulta |
Cita:
|
Cita:
Seria bueno que colocaras todo el código de tu procedimiento para saber con mas certeza que puede estar sucediendo. Salud OS |
Cita:
procedure Tfm_necesidades_espumado.btn_reportesClick(Sender: TObject); var query:String; begin report := fm_rpt_necesidades.rpt_necesidades; if ck_solo_mayores.Checked then begin query:='SELECT CODIGO, DESCRIPCION, ANCHO, '+ 'LARGO, CANTIDAD, EXISTENCIA '+ 'FROM RESUMEN_NECESIDADES_ESPUMA '+ 'WHERE CANTIDAD>=1 '+ 'ORDER BY N.CODIGO, ANCHO, LARGO '; end else begin query:='SELECT CODIGO, DESCRIPCION, ANCHO, '+ 'LARGO, CANTIDAD '+ 'FROM RESUMEN_NECESIDADES_ESPUMA WHERE CANTIDAD>0 '+ 'ORDER BY N.CODIGO, ANCHO, LARGO, EXISTENCIA '; end; ejecutar_con_active(fm_rpt_necesidades.sql_necesidades, query); report.DataSet:=fm_rpt_necesidades.sql_necesidades; report.Prepare; report.Preview; end; |
Y que codigo tiene ese
Salud OS |
Cita:
Código SQL [-] procedure ejecutar_con_active(Query : Tquery; inst : String); begin try query.active := false; query.sql.clear; query.SQL.Add(inst); query.ExecSQL; query.active := true; Except on E : Exception do MessageDlg(E.message + ''#13#10#13#10'' + inst, mterror, [mbOk], 0); end; end; |
|
Que pena con uds. compañeros, ya solucione el problema y no estaba en esta parte del codigo, la consulta estaba correcta, el error que estaba cometiendo es que coloque los campos fuera del la banda QRSubDetail en el TQuickRep, asi que movi los campos al detalle y Ya funciona bien
Les agradezco toda la ayuda brindada por uds. Muchas Gracias |
Cita:
Salud OS |
| La franja horaria es GMT +2. Ahora son las 17:51:27. |
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