Hola!
Primero que nada, vale la pena aclarar que la las siguientes sentencias funcionan perfectamente en MS SQL Server:
Código SQL
[-]
select distinct datepart(year, fecha)
from pedidos
order by fecha
select distinct datepart(yy, fecha)
from pedidos
order by fecha
,Pero si estas utilizando Access como dices en el último mensaje, la sentencia debería ser:
Código SQL
[-]
select distinct datepart("yyyy", fecha)
from pedidos
y efectivamente el Order By da conflicto con el distinct
, pero yo hice una serie de pruebas y de todas formas siempre lo ordena ascendentemente. Por lo tanto la sentencia anterior es equivalente y puede servirte.
NOTA: Te recomiendo que deberias tratar de usar una base de datos un poco mas potente como SQL Server, MySQL, Sybase, etc. Tiene muchas mas posibilidades al tener este tipo de requerimientos.