Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Question problema con query y qreport

Hola compañeros, tengo un problema al intentar generar un reporte con qreport tomando datos de la bd, he hecho lo siguiente para generar un reporte tomando los datos desde una tabla he insertado el reporte y le he dado un data set, en las propiedades del reporte elegi "Bands" y en la lista puse en true la que dice hasDetail, luego agregue componentes QRDBText, de la paleta de quick report, y en su data set tambien le puse la tabla que le habia dado al reporte, luego elegi en la propiedad DataField del QRDBText el campo que deseaba que se mostrara, luego llame al reporte, y listo, hasta aki todo bien me lo hizo perfecto, incluso cuando uso un query me lo hace bien siempre y cuando no le pase parametros por ejemplo si en la propiedad sql del query tengo algo asi:

Código SQL [-]select * from estudiantes where curso='primero'


si el query lo tengo asi no tengo problema y lo hace correctamente, el problema surge cuando tengo ke pasarle algun parametro al query desde codigo por ejemplo:


Código SQL [-]select * from estudiantes where curso=:CursoSeleccionado


donde curso seleccionado lo selecciona el usuario, puede ser primero segundo etc, aqui ya no me funciona, me bota las repeticiones correctas es decir si al ejecutar el query hay 5 registros que cumplan con la condicion correspondiente me muestra el numero de campos correctos es decir 5 espacios en el report pero sin datos, es decir en blanco, no se porke toma la cantidad correcta de datos pero no me los muestra, agradesco cualkier ayuda u orientacion ke me puedan brindar para solucionar mi problema, chao y muchas gracias
Responder Con Cita
  #2  
Antiguo 31-07-2008
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 18
Kipow Va por buen camino
Deberia de ser algo asi:

Código Delphi [-]
   MiSQL.SQL.Add('select * from estudiantes where curso=:CursoSeleccionado'); 
   MiSQL.ParamByName('CursoSeleccionado').Value := MiCurso; // la variable micurso es la que recoje el curso que queres mostrar

Última edición por Kipow fecha: 31-07-2008 a las 20:08:38.
Responder Con Cita
  #3  
Antiguo 31-07-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Question

Hola kipow, muchas gracias por su respuesta, pero no he podido solucionar mi problema, me explicare con mas detalle, el query lo ejecuta correctamente, le paso el parametro ke el usuario selecciona digamos curso=primero y ejecuto el query y me arroja los resultados correctos, si hay cinco estudiantes de primero me devuelve los datos de esos 5 estudiantes, el problema surge cuando trato de poner esos datos de esos 5 estudiantes en un reporte creado con qreport. si tengo digamos los datos edad y codigo para cada uno de esos estudiantes, yo creo el reporte con dos qrlabel con caption edad y codigo respectivamente en una banda detail y pongo dos QRDBText con los ke enlazo los datos resultantes del query en su propiedad dataset pongo el nombre del query por decir query1 pero en su propiedad datafield como depende de un query que obtiene su parametro en tiempo de ejecucion no le puedo asignar nada directamente sino por codigo despues de haberle pasado el parametro y haberlo ejecutado, lo hago con la siguiente instruccion

Código Delphi [-]
Form1.QRDBText.DataField:=Form1.query1.FieldValues['edad'];
Form1.QRDBText.DataField:=Form1.query1.FieldValues['codigo'];

ke son los datos ke necesito en el reporte, edad y codigo, al generar el reporte me crea los campos correspondientes pero sin datos, algo asi

Edad:
Codigo:

Edad:
Codigo:

y esto se repite las veces ke registros haya encontrado, si encuentra 5 estudiantes del curso primero se repite 5 veces pero no me muestra en en reporte los datos que me devuelve el query, y no he dado como resolverlo, agradesco cualkier ayuda, chao y muchas gracias
Responder Con Cita
  #4  
Antiguo 31-07-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Wink solucion

Hola compañeros presento la solucion al problema publicado, el problema estaba en la propiedad datafield del QRBDtext ya que yo le estaba asignando valores retornados del query asi

Código Delphi [-]
Form1.QRDBText.DataField:=Form1.query1.FieldValues['edad'];

pero esa propiedad es un string donde señalo el campo de la tabla o del query del ke tomo los datos es decir con esta instruccion anterior si el primer estudiante ke me devolvia tenia 10 años, buscaba el campo del query llamado 10 años, como ese campo logicamente no existe no me mostraba nada, asi ke la forma correcta de asignar valor a esa proiedad datafield es la siguiente:

Código Delphi [-]
Form1.QRDBText.DataField:='edad';

y ahi si me toma los datos del campo edad del query y me los muestra en el reporte. muchas gracias por la atencion prestada chao
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema con query UREÑA Conexión con bases de datos 3 11-07-2007 21:09:29
Problema con un Query!!!! Carmen Conexión con bases de datos 2 10-11-2004 14:45:21
Imprimir 2 Query en QReport ( sin relacion ) Malon Impresión 3 07-10-2004 18:27:08
en un Qreport como relacionar dos query URBANO Impresión 2 29-07-2003 20:05:21
QReport con Query juanen Impresión 3 08-05-2003 21:16:18


La franja horaria es GMT +2. Ahora son las 22:42:30.


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
Copyright 1996-2007 Club Delphi