FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
|||
|
|||
OK. Gracias
Lo voy a revisar y a cambiarle unas cosas. Gracias. Cómo te sientes hoy? |
#22
|
|||
|
|||
Hola!!!! fjcg02
ya revise tu codigo y me parece perfecto, pero hay una cosa!!! Sigo sin entender como hacerle para que las labels no se te traslapen?? he seguido haciendo pruebas, pero al momento de crear la segunda hilera de labels, todas se me traslapan, ya estoy un poco fastidiado con eso, me tiene estresado. Pero asi es esto, hay que seguir a prueba y error. Gracias Vi las funciones de ancho de caja y otras, pero verdaderamente estoy hecho un lio. Cómo te sientes hoy? Acabo de fijarme en algo, esta chistoso Al momento de crear todas las labels del nombre de los analisis, que van en la primera fila, cuando se crean, todo esta perfecto, pero al momento de crear las labels para mostrar los resultados, se baja el ultimo nombre del analisis a la label del primer resultado y por lo tanto se enciman. Alguien sabe porque??? Gracias Cómo te sientes hoy? Les mando las imagenes en zip para que las cheques el primero es grid_res, que es donde tengo la informacion como debe de quedar. la segunda imagen es qrp_antes, esta imagen como puedes ver, se muestran bien los titulos de los analisis a realizar, son los ultimos y la 3a imagen es qrp_c_resultados, si te fijas bien, el nombre del ultimo analisis se bajo a la linea siguiente y los resultados no se muestran bien, las rayas '----' son los analisis que todavia no tienen resultados. Gracias Cómo te sientes hoy?? Última edición por david duarte fecha: 18-10-2005 a las 17:44:46. |
#23
|
||||
|
||||
Perdona, pero creo que estamos en dimensiones diferentes.
Intuyo que lo que quieres es realizar un listado que no coincide con el que te he pasado. El mio es para sacar una fila de datos por registro, hacer totales, etc, una cosa sencilla. Creo que tú quieres imprimir tus datos en un informe tipo factura, más elaborado, en el que las bandas de cabecera, cuerpo etc, tienen un diseño más alborado. No te acabo de entender del todo, por lo que no puedo ayudarte ( siempre y cuando sepa ) a no ser que me des más información. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#24
|
|||
|
|||
es mas o menos parecido al tuyo
mira, como comentaba al principio de este hilo, tengola tabla de resultados con los siguientes datos(Paradox). Folio -> folio de la solicitud Num -> numero de muestra a analizar Posicion -> numero de la posicion de la muestra (las muestras tienen una posicion, ya que son de unas maquinas de hilo, y existen muchas maquinas de hilo con muchas posiciones). Analisis1 -> aqui manejo 'o' para saber si esta seleccionado y se va a capturar los resultados o 'x' para ver que no esta seleccionado y no se va a realizar analisis de este. Analisis2 -> etc. y para cada muestra, tiene un registro. p.e. me traen una 3 muestras para hacerles el analisis1, analisis2, analisis 4 y analisis 6, (folio1) y me traen otros analisis con 2 muestras, analisis: 1,3,5(folio 2) entonces en la tabla voy a tener lo siguiente (cuando apenas se de de alta)
etc.. puedes tener x folios. La posicion siempre tiene que estar seleccionada. Entonces p.e. si quiero ver el reporte del folio 1, me tiene que aparecer... Analisis Seleccionados : 1, 2, 4, 6 en la parte de resultados (en caso de que tengan resultados capturados), te aparecera la posicion y el resultado de el analisis que ya se realizo y en caso de que no se haya realizado ese analisis, te debera de aparecer en blanco o te aparecera '----'. aqui no se ha realizado el analisis6. y asi es como debe de aparecer en el qreport, pero no me queda. se traslapan las labels de los resultados. Gracias Espero que me entiendas me puedas ayudar!!!! Cómo te sientes hoy?? Última edición por david duarte fecha: 18-10-2005 a las 18:26:30. |
#25
|
||||
|
||||
Pues sinceramente creo que te estas complicando la vida. El primer mensaje que puse hablando del QrCreateList hace exactamente eso.
Lo único es montar una consulta, del tipo Ahora creas un TStringList, y añades los campos: Analisis1 Analisis2 Analisis4 Analisis6 Llamas a la función qrCreateList, y ya tienes generado el listado. Si acaso, puedes recorrer los datos antes de hacer el preview, para que el campo que sea nulo, ponerle los guiones '----', si no lo haces, saldrá un 0 (que tampoco es tan grave). En apens 15 lineas de código lo tienes hecho. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#26
|
|||
|
|||
resultados en qreport
Hola Lepe, gracias por tu ayuda, pero creo que lo que yo quiero es que los analisis salgan en posicion horizontal, no vertical.
Creo que ya logre solucionarlo, al menos en la primera linea de los resultados. Lo que me hacia era que el ultimo campo, al momento de pasar al siguiente registro, me lo bajaba a la siguiente linea, por lo tanto se traslapaba con el primer resultado de la posicion. Lo que hice es que al final de recorrer los campos de la tabla, genero un label en blanco, nada mas lo creo y ya. por lo que veo, es que si el ultimo label se baja, como no tiene nada de datos, aunque se traslape, pues no se verá. Necesito que me digan si esta bien la solucion o existe otra mas facil(ya se que me han dicho otras cosas). les anexo las imagenes para que las chequen como quedó, y vean las anteriores para que comparen. Ahora lo que necesito es que las labels de los resultados queden abajo de los nombre de los analisis. Gracias Cómo te sientes hoy? |
#27
|
||||
|
||||
Cita:
Para hacer lo que quieres, al crear los labels de los analisis (Posicion titulo), yo guardaría un array of record, y en cada record, guardaría el top, left, y width de cada uno de los labels. Cuando creas los labels para los resultados: - Creas el label - le pones autosize a false, Alignment según corresponda, para que quede alineado a la derecha los números y lo que sea texto alineado a la izq. - Lees de ese array donde estas y le pones el top, left y width que corresponda segun la columna. Tendrás un problema añadido, y es que si un label tiene 60 pixels de ancho y el dato no cabe, tendrás que controlar cómo lo haces. Ahora no recuerdo, creo que QR tiene una propiedad adicional, si no cabe el texto creo que se puede truncar el ancho, o bien dejar que se solapen. (¿autosize? u ¿otra propiedad?) Por supuesto no traspasarás el margen derecho del folio, y si se van a mostrar más columnas de las que caben, poner en apaisado el informe, esto quizás no te guste, pero no hay más remedio. No puedo comentar si te has complicado mucho o no, ya que no veo codigo fuente, solo las imagenes . Pero si lo necesitas, se hace y punto. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#28
|
||||
|
||||
Pues eso . no podría explicarlo mejor.
A darle duro a la mollera, que aunque salga humo no se quema ! Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#29
|
|||
|
|||
Hola!!!
Muchas gracias por su tiempo y por leer estos mensajes. oigan, una pregunta, a que se refieren con el apaisado?? Lo que estaba pensando hacer para que queden los resultados abajo del titulo de los analisis, es como dicen anteriormente, guardar en un arreglo, solamente el left y el width, pero me gustaria dividir el width/2, asi siempre quedaa a la mitad de cada titulo, no creen? les anexo el codigo por si quiere hecharle una ojedada, creo que se puede reducir un poco.
De antemano les agradezco su tiempo y su atencion. Cómo te sientes hoy?? |
#30
|
||||
|
||||
Hola que tal,
yo cambiaría de estrategia. Crearia una query en tiempo de ejecucion para mostrar los datos, generandola dependiendo del tipo de prueba que se haya realizado. Por ejemplo Creas la TQuery o ya la tienes creada Código:
QueryListado.Clear; QueryListado.Add('SELECT POSICION'); Bucle que incluye los campos que tienes incluir, ya sabes, que tenga el valor 'o 'y no 'x' // Por cada analisis que quieres incluir QueryListado.Add(', AnalisisCorrespondiente'); fin del bucle QueryListado.Add('FROM TABLA WHERE TIPO=:PTipo AND FOLIO=:PFolio '); QueryListado.Params.ParamByName('PTipo').Value:= form_opcion.label1.Caption[1]; // lo que sea QueryListado.Params.ParamByName('PFolio').Value:= form_opcion.label1.caption // lo que sea Y aqui llama a la funcion Generar Listado del código que te pasé GenerarListado(True, QueryListado, '','',''); Para comprobar si lo que ves es lo que necesitas, mientras depuras el código de la generación pones un DBGrid en el formulario y ves el resultado. Ya me contarás, lo que es la presentación te la hace completa. No he probado nunca la funcion qrCreateList que comenta Lepe, pero también parece una solución buena. Espero que lo entiendas. No he podido responder antes por que estoy un poco liado, ya sabes, hay que ganarse el pan... Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#31
|
|||
|
|||
oK fjcg02, creo que seria buena idea, aparte de que seria un poco mas rapido si utilizo querys, lo voy a probar y despues les digo como me fue.
Con lo de reporte, todavia no me queda, tengo problemas para que me añada paginas nuevas, ya utilize el compositereport, pero no me respeta las paginas, si tengo 2, cuando hago el preview, me dice que tengo 2 paginas, pero cuando lo imprimo, me sale en una sola, o me sale en una pagina todo los datos del reporte 1 y parte del reporte 2 y en la segunda pagina, me sale el resto del reporte2. He estado leyendo acerca del qreport, tengo el ForceNewPage = True, pero dicen que cuando es la primera pagina, el qreport por defecto lo omite o no le hace caso, y vienen ejemplos de como hacerle, pero no le encuentro me siguen marcando error, en este momento no tengo a la mano esas respuestas o preguntas, pero las voy a traer al trabajo y se las mando para ver si alguien logra hacerlo. porque yo nomas no =(. Gracias. |
#32
|
||||
|
||||
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 - |
#33
|
|||
|
|||
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?? |
#34
|
||||
|
||||
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 - |
#35
|
|||
|
|||
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!!!! |
#36
|
||||
|
||||
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. |
#37
|
|||
|
|||
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
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 - - 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) El reporte tendria que quedar asi Código:
(Nombre_ analisis).... Posicion in1 in2 in3 ...... (RESULTADOS) 1A 125.5 125.5 125.5 3A - - - Saludos!!!! |
#38
|
||||
|
||||
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. |
#39
|
|||
|
|||
Ok. muchas gracias!!!
lo voy a checar lo acabo de checar con un dbgrid y me funciono a las mil maravillas, lo voy a aplicar en mi sistema y te digo como me fue. Saludos!!!! |
#40
|
|||
|
|||
Hola a todos!!!!
Acabo de platicar con mi jefe y me dijo que no era necesario tener los analisis extras en otra tabla, que los podia tener en la misma tabla, al fin y al cabo no son muchos los analisis que mandan a hacer, por lo que nada mas le voy a poner 5 campos mas a la tabla y ya. pero ahora el problema que tengo es que no me caben los nombres de los analisis en forma horizontal, le cambie de formato al tamaño de la hoja(lo puse en horizontal), pero hay veces que ni siquiera así se alcanzan a mostrar todos, Alguien tiene una sugerencia??? La verdad es que creo que va a pasar lo mismo que cuando no popia mostrar los analisis en forma vertical, pero si alguien tiene alguna sugerencia, se los agradeceria. Seguire investigando Gracias!!!! Saludos!!! Edito Lo que hice fue cambiarle el tamaño al font, pero no me ayudo de mucho, no me ahorra mucho espacio en forma horizontal Última edición por david duarte fecha: 16-05-2006 a las 21:22:48. |
|
|
|