Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2005
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.419
Poder: 24
fjcg02 Va camino a la fama
David,
tras leer de nuevo con detenimiento el hilo, me he dado cuenta de que bajo mi punto de vista, tienes un error de concepto. Creo que intentas mostar los datos como si estuvieras escribiendo en un folio en blanco.

El qreport, te permite crear una banda de datos, que repite automáticamente por cada registro de datos que tiene el origen de los datos que le asignas.

Por ejemplo, si tienes una tabla con 5 registros, te repetirá la banda 5 veces. Si la tabla tiene 100 registros, te repite la banda 100 veces. Si el origen es una query, te repite la banda tantas veces como registros devuelve la misma. Comprueba que tu reporte tiene una banda de titulos, y otra de datos, así como asegurarte de que el origen de los datos de tu report es la tabla que contiene los datos. Si para imprimir los datos, se necesitan 15 páginas, las crea automáticamente.

En los ejemplos del Qreport, tienes ejemplos claros de qué puedes conseguir.

Tu problema se reducirá a saber qué campos tienes que visualizar dependiendo del tipo de pruebas que realices; los campos que tengas que poner a '-----' los pones en la función beforeprint del mismo. Si el valor es 0, cambias el valor a '-----'.

Vuelve a mirar tanto el código de Lepe y el mío, la solución te la hemos proporcionado ya en este mismo hilo.

Suerte y un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 05-12-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 22
david duarte Va por buen camino
Si fjcg02, en mi reporte tengo una banda de titulo, que la utilizo para mostrar los valores principales de la solicitud(p.e. el titulo del documento, la fecha en que se creo la solicitud, el numero de la solicitud, los analisis, etc), que estos deben aparecer en cada pagina que se visualice o se imprima.

Tengo una banda de tipo detalle, que la utilizo para mostrar los resultados de los analisis, eso ya lo resolvi...
Mi problema es el siguiente, que aunque cree las labels o el memo o el qerdbtext, no me crea una nueva pagina, tengo el ancho de la banda detalle al minimo y se va ensanchando conforme se van agregando datos o como dices tu, se van creando otras nuevas bandas de detalle por cada valor que se le añada(en el caso de tener las labels).
Y la verdad es que no encuentro alguna solucion, ni siquiera con el composite report.

Gracias.
Cómo te sientes hoy??
Responder Con Cita
  #3  
Antiguo 05-12-2005
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.419
Poder: 24
fjcg02 Va camino a la fama
David,
Con crear una banda de datos, recorrer los campos y asignar EL CAMPO a las QDBLabels es suficiente. Por supuesto, el reporte debe estar asociado a la query o a la tabla. NO DEBES recorrer la tabla para sacar los datos, lo hace el Qreport sólo.
Con los ejemplos que te hemos enviado es suficiente, pero,.... no podemos programar por tí. Insisto, el error que tienes es de concepto. Defines una banda de datos para un registro y se repetirá para cada uno de los registros de la tabla/query ( a ver si te das cuenta del concepto).

Lo que estás haciendo tú es 'estirar' la banda, escribir todos los registros en una banda. NUNCA tienes que utilizar el next, lo hace el qreport.

A ver si tienes más suerte, ... un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 24-04-2006
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 22
david duarte Va por buen camino
Hola!!!!

Perdon por responder hasta hoy, pero estaba ocupado con este proyecto que me ha sacado canas verdes(pero lo bueno es que he aprendido muchisisisisimo)

Lo que hice fue lo siguiente:

cree en tiempo de ejecucion los qrdbtext y les asigne el nombre de la tabla, y el nombre del campo.

Y me funciona a las mil maravillas, ahora lo que no logro es que me muestre espacios en blanco.

algunos campos tienen el valor de 'o' (letra o de Oscar), pero necesito que cuando se muestre el valor( si tiene 'o') que muestre un guion o dos (--),y si tiene otro valor numero, pues que muestre ese valor, pero no encuentro como hacerle

Alguien sabe como resolver este problemilla???
Tengo un rato buscandole pero no logro corregirlo

Muchas gracias!!!!
Saludos!!!!
Responder Con Cita
  #5  
Antiguo 25-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Puedes usar el evento BeforePrint de ese QrLabel o QrDbText, allí cambias el texto que viene como un parámetro de texto.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 15-05-2006
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 22
david duarte Va por buen camino
Hola, solucione mi problema, cambiando el 'o' por el '-' y asi ya no tengo que estar metiendome con ningun codigo y automaticamente si no tienen nada capturado se muestra el guion??

otra pregunta tengo una tabla del mismo proyecto que son los analisis extras en donde tengo la siguiente estructura

Folio ->El folio de la solicitud
Numero-> es para saber el renglon en el que esta
Nombre_analisis-> es para saber el nombre del analisis
Posicion-> la posicion de la maquina de donde sacaron la muestra
Resultado -> resultado del analisis de la muestra

mi pregunta es la siguiente, con la tabla normal creo un tqrdbtext por cada campo, eso no es ningun problema
Código Delphi [-]
          texto := TQRDBText.Create(DetailBand1);
          texto.Top := arriba;
          texto.Left := izq;
          texto.DataSet := Query1;
          texto.DataField := modulotablas.resul_soplado.FieldDefs.Items[cont].DisplayName;
          texto.Parent  := DetailBand1;

pero ahora necesito crear un qrdbtext por cada analisis extra que este en la tabla.
Se puede hacer esto??

p.e.
si tengo 3 analisis extras, y se van a realizar 2 analisis de esas muestras
(in1,in2,in3 -> muestras)

Código:
Folio            Numero    Nombre analisis   Posicion  Resultado
IAbr00106       001          in1                    -            -
IAbr00106       001          in2                    -            -
IAbr00106       001          in3                    -            -
IAbr00106       002          in1                    -            -
IAbr00106       002          in2                    -            -
IAbr00106       002          in3                    -            -
Como puedo yo crear un qrdbtext para cada nombre de analisis extra?
se me ocurre con un query para cada uno, no se
Código:
select nombre_analisis, posicion, resultado 
from analisis_extra
where nombre_analisis = (aqui supongo que tengo que crear un arreglo o algo para guardar el nombre de los analisis realizados)
Alguien sabe como le puedo hacer??, creo que poner un query para cada analisis, seria mucho no? que tal si tengo 10 o mas analisis extras?

El reporte tendria que quedar asi

Código:
                          (Nombre_ analisis)....
  Posicion               in1         in2        in3      ......
             (RESULTADOS)
     1A                  125.5     125.5     125.5
     3A                    -            -          -
Gracias por su tiempo.
Saludos!!!!
Responder Con Cita
  #7  
Antiguo 15-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Código SQL [-]
select distinct nombre_analisis
from analisis_extra

Con eso ya sabes cuantos análisis extras tienes y como se llaman. Ahora si puedes crear un QRLabel con el nombre del analisis_extra y un QrDBText debajo.

Ahora tienes que montar otra query para obtener los Resultados de los análisis.

No sé ... quizás usando QrExpr sea más cómodo porque solo tienes que introducir en la propiedad Expression el nombre del analisis_extra, solo ahorras una línea de código, pero dentro de un bucle para 10 análisis_extras.... pues son 10 líneas menos a ejecutar .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 23:13:55.


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