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 15-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Question 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.
Responder Con Cita
  #2  
Antiguo 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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:
Código SQL [-]
 select D.*, U.* From
Departamentos D, Usuarios U
where U.CodigoDepartamento = D.CodigoDepartamento

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 16-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Con Access hace tiempo que no trabajo, a ver si tengo más suerte:

Código SQL [-]
select departamentos.*, usuarios.* 
from departamentos inner join usuarios on 
 departamentos.Codigo_Depto = usuarios.Codigo_Depto
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 16-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
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.*
from departamentosinner join usuarios on 
departamentos.Codigo_Depto = usuarios.Codigo_Depto
tuve que hacerle esto, solo cambio de tablas.
Código:
SELECT Maestra.*, Departamento.*
FROM Maestra INNER JOIN Departamento ON 
Maestra.Codigo_Depto = Departamento.Codigo_Depto
Maestra es la Tabla que contiene todos los campos y con esa hago el reporte
y el reporte lo visualiso con esta instruccion.

Código:
procedure TFrm_Imprimir.SpeedButton1Click(Sender: TObject);
begin
	ppReport1.PrintReport;
end;
pero sale en blanco. hermano disculpa nuevamente por la falta de esperiencia
mil gracias trate de enviarte una grafica del fom y las tablas pero no me dejo subirla

Última edición por esimon fecha: 16-11-2005 a las 18:59:32.
Responder Con Cita
  #6  
Antiguo 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por esimon
Maestra es la Tabla que contiene todos los campos y con esa hago el reporte
y el reporte lo visualiso con esta instruccion.

pero sale en blanco. hermano disculpa nuevamente por la falta de esperiencia
mil gracias trate de enviarte una grafica del fom y las tablas pero no me dejo subirla
El quickReport tiene que tener en Dataset, la consulta que estamos construyendo.

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:
Código Delphi [-]
procedure TFrm_Imprimir.SpeedButton1Click(Sender: TObject);
begin
    adoquery1.Open;
    ppReport1.Preview;
    adoquery1.Close;
end;

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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 17-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
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.

  • Departamento (tabla)

    Campo

    CodigoConsec_Depto Numerico *
    Codigo_Depto
    Descripcion_Depto

  • Maestra (tabla)

    Campo

    Codigo_Consecutivo *
    Codigo_Depto
    Descripcion_Depto
    Codigo_Usuario
    Descripcion_Usuario
    Fecha
    Hora
    Concepto


mil gracia Lepe y disculpa nueva mente.


Responder Con Cita
  #8  
Antiguo 17-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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

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á:

Código SQL [-]
SELECT Maestra.*, Departamento.*
FROM Maestra INNER JOIN Departamento ON 
Maestra.Codigo_Depto = Departamento.CodigoConsec_Depto

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.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 18-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
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.
Responder Con Cita
  #10  
Antiguo 18-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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

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



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 08:05:11.


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