Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ordenar ADOQuery en Delphi (https://www.clubdelphi.com/foros/showthread.php?t=23872)

Francisco Rguez 01-08-2005 13:04:04

Ordenar ADOQuery en Delphi
 
Hola a todos.
Tengo un problema con esta consulta:
Código SQL [-]
SELECT [Fichas Socios].*, DateDiff("yyyy",[Nacido el],Date()) AS Edad, IIf(DateDiff("yyyy",[Nacido el],Date())<=14,"<14",IIf([Act?]="T","Técnico","Aficionado")) AS Categoría
FROM [Fichas Socios]
WHERE ((([Fichas Socios].[Act?]) In ("S","T")))
ORDER BY IIf(DateDiff("yyyy",[Nacido el],Date())<=14,"<14",IIf([Act?]="T","Técnico","Aficionado")), [Fichas Socios].Apellidos;
Cuando la utilizo en Access 2002, el resultado es el esperado. Primero me devuelve todos los registros donde Categoría = "<14", luego, todos los registros donde Categoría = "Aficionado", y por último, todos los registros donde Categoría = "Técnico", todos ellos ordenados por los Apellidos.

Sin embargo, cuando utilizo esta consulta con Delphi, me devuelve unos cuantos registros de la primera categoría, unos pocos de la segunda, luego algunos de la primera,... y termina devolviéndome todos los registros de la tercera categoría.

La tabla tiene algo más de 1000 registros. Esta consulta devuelve alrededor de 200. Utilizo Delphi 7, ADO Access 2002 y Windows XP.

Gracias por vuestra ayuda.

marcoszorrilla 01-08-2005 16:07:56

Creo que si añades Group by y lo combinas adecuadamente con Order by lo resolverás.

Un Saludo.

Francisco Rguez 02-08-2005 02:32:54

Al hacerlo como dices, me da dos errores:
1: Tengo que enumerar todos los campos, dado que no se puede agrupar usando * :rolleyes: (no tendría mayor problema)
2: Tengo una foto asociada, y también necesito ese campo, pero no puedo recuperarlo con Group By :( (esto es un problema)


La franja horaria es GMT +2. Ahora son las 05:34:21.

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