Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problemas al listar desde un ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=22325)

cai 12-06-2005 12:50:03

Problemas al listar desde un ADOQuery
 
Al intentar listar una seleccion de valores a través de varios QrdbText que tengo asociados a través del DataSet a un TAdoQuery solo se me muestra un valor repetido tantas veces como valores diferentes deberia de devolver la consulta, es decir:

Nombre 1ºApellido 2ºApellido Cantidad Tipo Seccion Fecha
Antonio Romero Garcia 12 A2 Primaria 12/6/2005
Antonio Romero Garcia 12 A2 Primaria 12/6/2005
Antonio Romero Garcia 12 A2 Primaria 12/6/2005
Antonio Romero Garcia 12 A2 Primaria 12/6/2005
(asi hasta 11 veces)



Cuando ejecuto la accion para listar tengo este código:

procedure TForm1.Listar_CopiasExecute(Sender: TObject);
begin
Tabla_Copias.Open;
Application.CreateForm(TFrm_Copias, Frm_Copias);
ADOQuery1.Prepared;
ADOQuery1.Open;
Frm_Copias.QuickRep1.Preview;
Frm_Copias.Free;
Tabla_Copias.Close;
end;

y la consulta Sql que le tengo al AdoQuery es la siguiente:

Select P.Nombre, P.Apel1, P.Apel2, C.Cantidad, C.Tipo, S.Nombre,C.Fecha
From Profesores as P, Copias as C, Seccion as S
Where P.Cod_Profesor=C.Cod_Profesor and C.Cod_Seccion=S.Cod_Seccion
Order by C.Fecha Desc

además quería que me agrupase por nombre y apellidos, pero si intento poner la siguiente clausula:

Group by P.Nombre, P.Apel1, P.Apel2

me dice que no puedo hacer eso sin agrupar tambien los demás valores del select.
Cuando creo la sentencia SQL estoy trabajando directamente con el nombre de las tablas que tengo en la base de datos, no creo ningun ADOTable puesto que creo que la SQL trabaja directamente sobre las tablas de la BD.

marcoszorrilla 12-06-2005 13:34:53

No veo para que abres la tabla Copias, si tienes la conexión de la BD abierta como es lógico, mediante una AdoConnection, lo único que tienes que hacer es lanzar la Consulta SQL.

Para mayor seguridad pon una rejilla y conéctala, pues en el informe sale lo que obtengas en la consulta, si el informe no te da lo que quieres es porque la consulta no está bien planteada.

En cuanto a la cuestión de agrupar, todos los campos tienen que estar agrupados o ejecutar alguna función sobre ellos, Sum(), Average()......

Un Saludo.

cai 13-06-2005 18:31:16

Cita:

Empezado por marcoszorrilla
No veo para que abres la tabla Copias, si tienes la conexión de la BD abierta como es lógico, mediante una AdoConnection, lo único que tienes que hacer es lanzar la Consulta SQL.

Para mayor seguridad pon una rejilla y conéctala, pues en el informe sale lo que obtengas en la consulta, si el informe no te da lo que quieres es porque la consulta no está bien planteada.

En cuanto a la cuestión de agrupar, todos los campos tienen que estar agrupados o ejecutar alguna función sobre ellos, Sum(), Average()......

Un Saludo.

En la rejilla me muestra bien todos los campos, asi que la consulta tiene que estar bien. Solo me muestra la primera fila de la consulta repetida tantas veces como valores devuelve la consulta.


La franja horaria es GMT +2. Ahora son las 01:26:49.

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