![]() |
Como Hago para Imprimir un Campo en un Reporte
Hola, Muy Buen Dia, quiero hacer lo siguiente, en Access y ReportBuirde.
en una Forma tengo Varias tablas en ellas la Maestra la cual contiene todos los datos, Departamentos en esta estan todos los Departamentos, Usuarios contiene todos los usuarios, etc. en la Maestra que es la Principal almacenos todos los datos de la demas tablas , la Tabla Departamento la uso en un DBLookupComboBox1, igual que la del usuario y esto me funciona muy bien, el problema es el reporte, cuando quiero hacer el Reprte y pongo el campo Descripcion del Departamento y el Usuario me visualisa el codigo del Departamento y del Usuario, por que en realidad eso es lo que estoy almacenando, en la latbla principal. Este es el encabezado que da el siguiente resultado Departamento Soporte Usuario 1 2 Juan 2 5 pedro y quiero esto Ejempo Computos Manuel Juan Estadistica Hector Pedro. como lo hago mil gracias y espero que me entiendan.:confused: |
En lugar de hacer el informe desde la tabla, monta una consulta que una las 2 o 3 tablas implicadas, y desde ahí haces el informe.
Uno simple es este:
saludos |
Gracias LEPE, por tu información estoy haciendo una prueba del Query que me enviaste en la consulta de Access y lo primero es que me piede que introduzca el valor del parametro U.Codigo_Depto, cuando introdusco un valor me repite el registro.
y cuando lo hago en el Quiery que quiero Activarlo me dice le Paramentro D.Codigo_Depto no tiene un Valor Predeterminado. ya tengo un tiempo com ese incombeniente y no se como hacerlo, mil gracias de todo modo |
Con Access hace tiempo que no trabajo, a ver si tengo más suerte:
Se supone que en Departamentos tienes el campo Codigo_Depto y lo mismo en Usuarios. Si tu campo se llama de otra forma, es cuestión de adaptarlo. También puedes poner en el foro cuales son las tablas y los campos relacionados. Básicamente es lo mismo, pero he quitado los alias "D" y "U" además de hacer un inner join. Aquí tienes un manual de tantos de SQL, quizás te convenga buscar uno específico para Access. http://www.programacion.com/tutorial/sql/8/ saludos |
Lepe, disculpa todas las molestia causada el ultimo quiery que me enviaste funciona a pesar que tuve que hacerle algunos arreglos. este fue el que me enviaste.
Código:
select departamentos.*, usuarios.* Código:
SELECT Maestra.*, Departamento.* y el reporte lo visualiso con esta instruccion. Código:
procedure TFrm_Imprimir.SpeedButton1Click(Sender: TObject); mil gracias trate de enviarte una grafica del fom y las tablas pero no me dejo subirla |
Cita:
Los QrDBText del Quickreport, deben tener el Dataset y el FieldName de la misma consulta. Antes de mostrar el informe, tienes que abrir la consulta, y despues cerrarla. Hay muchas formas, una de ellas sería:
Tambien puedes abrir la consulta en el OnCreate del Form, y cerrarla en el OnClose. Como ves he puesto Preview para no gastar tantos folios ;). saludos |
Gracias manito por todas las informaciones brindada, sigo teniendo el mismo inconveniente.
en caso de que use una Label en el Reporte y el Evento OnPrint del Label, como yo hago para ir a buscar en la Tabla Departamento la Descripción del Departamento y moverla a la Tabla Maestra al Campo Descripción Departamento, para poder visualizar el campo en el Reporte.
mil gracia Lepe y disculpa nueva mente. |
http://www.qusoft.com/Downloaddoc.html
Ahí tienes un manual de QuickReports, de la misma web de Qusoft. Creo que no me he explicado con claridad, o bien estas intentando hacer algo distinto :confused: El inner join es una unión (en "memoria RAM") de 2 tablas por un campos que tienen en comun. En principio sería por departamento.CodigoConsec_depto y Maestra.Codigo_depto Se supone que cuando añades un registro en la tabla maestra, escribes un valor en Maestra.Codigo_depto y ese valor coincide con Departamento.CodigoConsec_Depto, es decir Maestra.Codigo_Depto es una clave ajena (foránea, foreign key) de Departamento.CodigoConsec_Depto. El hecho de que la consulta anterior te salga en blanca, es porque los campos de union de las 2 tablas no eran los correctos (yo no podía adivinar los nombres que tú le has dado). Para realizar la union, solo necesitas los siguientes campos: Departamento (tabla) CodigoConsec_Depto Numerico * Descripcion_Depto Maestra (tabla) Codigo_Depto Y el sql de tu Query será:
Despues de establecer el SQL del Query, dale doble clic (al Tquery), aparece una ventanita, boton derecho y Add all Fields, aparecerá los siguientes campos: Codigo_Consecutivo (de la tabla maestra) Codigo_Usuario Descripcion_Usuario Fecha Hora Concepto CodigoConsec_Depto Descripcion_Depto Si quieres ver realmente que tiene la consulta, asociala con un Grid. Ahora ya puedes usar un QRDBTEXT para mostrar la Descripción del departamento, sin modificar las tablas. saludos y espero se entienda. |
mil gracias por todas las atencion prestada y por la decicacion de tu tiempo a ayudarme, pero en realidad estoy usando ReportBuilder.
gracias nuevamente y pasa un feliz resto del dia. |
Es verdad, lo decías en tu primer mensaje, pero como no uso ReportBuilder, te lo comenté con Quick Report.
En principio todo es igual, QRDBTEXT es como si fuera un DBLabel para un form. En Report Builder debes tener un componente similar, aunque no sé como se llama :o saludos |
La franja horaria es GMT +2. Ahora son las 05:43:51. |
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