PDA

Ver la Versión Completa : Quickreport, varias consultas


Alexis7788
14-11-2006, 15:29:49
Hola a todos, llevo poquísimo tiempo trabajando con QuickReport y consigo perfectamente asociar al formulario de impresión una consulta, simplemente se asocia la consulta al DataSet del reporte. El problema es que necesito meter otra consulta más, es decir, visualizar en un mismo reporte dos tablas.

No he encontrado información suficiente ni clara acerca de cómo poder hacer esto. ¿Ma ayuda alguien?? Gracias

andressanchez
14-11-2006, 16:00:41
Por favor explica bien el problema, mientras mas detalles muestres es mejor.

Alexis7788
14-11-2006, 16:19:45
Pues tengo un formulario QuickReport en el que pongo en su DataSet MyQuery1, que carga una consulta.

Después mediante un bandDetail introduzco varios campos de esa tabla con DBText a los que asocio en DataSet la misma consulta y en el campo Field el campo deseado. Eso me muestra por pantalla en ejecución (FormParte.Preview) la tabla con la consulta y los datos que se requieren.

Ahora necesito, además de esa consulta que estoy mostrando, mostrar otra consulta por pantalla con otras tablas completamente diferentes. ¿Se entiende? Gracias

andressanchez
14-11-2006, 16:38:49
Bueno, pues lo que tienes que hacer es utitilizar "UNION" de sql para unir dos consultas.

Ejemplo:


SELECT campo1,campo2, campo3 FROM tabla1
UNION
SELECT campo1,campo2,campo3 FROM tabla2


Debes tener en cuenta que los campos de la tabla1 y de la tabla2 deben ser del mismo tipo y longitud.

Me cuentas cómo te fue.

Saludos./

Alexis7788
14-11-2006, 19:48:44
No se trata de eso, a ver:

Tengo 2 Tablas:
-> TECNICOS: Nombre, Identificador, Especialidad
-> MATERIAL: Codigo, Palabra_Clave, Cantidad

mediante una consulta llego meter en el reporte la primera tabla, pero ahora necesito meter una consulta con la segunda tabla para poder visualizarla en QuickReport a la vez que la otra, pero no sé cómo.

Quedaría:
TITULO REPORTE
CABECERA TABLA TECNICOS
CONTENIDO QUERY TABLA TECNICOS (hecho) :o
---------------------------------------------------------------
CABECERA TABLA MATERIAL
CONTENIDO QUERY TABLA MATERIAL (por hacer) :confused:

Es claro que con UNION no puedo hacerlo porque los campos son diferentes del todo, ¿¿cómo podría ser??. Saludos.

Caral
14-11-2006, 19:55:40
Hola Alexis7788
Con una sentencia sql, no lo logras??

MyQuery1.Sql.Text:= 'Select Nombre, Identificador, Especialidad, Codigo, Palabra_Clave, Cantidad from TECNICOS, MATERIAL';

Con esto ves las dos tablas y colocas en el reporte el dato donde quieras, de cualquier tabla.
Otra rapida:

MyQuery1.Sql.Text:= 'Select * From TECNICOS, MATERIAL';
Seleccionas todos los campos de las dos tablas.
Saludos

Alexis7788
14-11-2006, 20:13:10
Gracias Caral, pero no es eso exactamente.

Es cierto que así cogería todos los datos que pido. Pero no quiero visualizarlos todos en una tabla, sino en dos diferentes.

O sea, que de un lado cogería SELECT * FROM TECNICOS y los meto en una tabla. y luego, tras unos comentarios,

Cogería SELECT * FROM MATERIAL.

Pero hecho así serían dos tablas bien diferenciadas, que es como necesito que salgan en el repote. Gracias por la ayuda.

Caral
14-11-2006, 20:18:20
Hola Alexis7788
Creo que si te va la sentencia sql, ya depende de la colocacion en el reporte, otra forma es hacerlo con master detail, pero tendrian que tener campos en comun.
Saludos

LucianoRey
15-11-2006, 00:24:32
Pues entonces, tal vez te sirva la opcion de quickreport de unir dos informes