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 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
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
  #2  
Antiguo 16-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 22
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
  #3  
Antiguo 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
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
  #4  
Antiguo 16-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 22
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
  #5  
Antiguo 16-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
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
  #6  
Antiguo 17-11-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 22
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
  #7  
Antiguo 17-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
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
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 11:10:34.


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