Ordenar un informe basado en una consulta

Lo primero, a ver si soy capaz de explicarme. Soy bastante novato en Access y totalmente autodidacta. Mi problema (no es muy grande, pero si un poco puñetero) es que quiero que los informes que están basado en una consulta se impriman en un orden determinado. El informe es de una sola página (realmente es un parte de trabajo) y pueden imprimirse un máximo de 16 partes (por cada consulta realizada).
La consulta es la siguiente;
SELECT Operarios.Nombre, Operarios.Apellidos, Trabajos.Trabajo, Trabajos.Fecha, Operarios.Imprimir, Operarios.Numero
FROM Operarios INNER JOIN Trabajos ON Operarios.Numero = Trabajos.Numero
WHERE (((Operarios.Imprimir)=True))
ORDER BY Operarios.Orden DESC;
Como ves, tengo una columna de la tabla llamada Orden, en la que le asigno el número en que quiero que sea imprimido. Para realizar la impresión del informe, lo hago mediante código, el código es el siguiente
Criterio = "Fecha=" & FechaParte
DoCmd.OpenReport "ParteTrabajo", , , Criterio
donde FechaParte es una variable que se captura de un control Calendarío. Todo va bién y me imprime los partes para el día, pero no lo hace en el orden que le marco.
Gracias anticipadamente por tu tiempo.
Respuesta
1
Aunque te parezca una tontada, el lenguaje SQL estándar no puede ordenar por una columna que no está visualizada (en el Select).
La mayoría de las bases de datos implementan su propia version del SQL y esta es una de las normas que saltan.
Esto hace que la mayoría de los usuario no conozca esta regla.
Pon Operarios.Orden en el Select.
Por otro lado es posible que al especificar una clausla WHERE en la llamada al informe esto omita la clausula ORDER BY. Entonces lo que tendrías que hacer es buscar otra forma de ordenar el informe.
Espero que se solucione con esto. Si no se soluciona me lo dices y seguimos trabajando.
He incluido el Operarios. Orden en el Select y el informe sigue sin salir ordenado. Y recalco lo del informe porque si ejecuto solo la consulta, esa si que sale ordenada. Por si acaso también he incluido en el informe el Operarios! Orden, pero nada sigue saliendo como le da la gana. Puede que sea lo que comentas de la clausula WHERE, pero no se me ocurre nada para solucionarlo. Si no se te ocurre nada, no te preocupes, pues tampoco es tan importante.
Bueno, pues al final conseguí solucionarlo. Para ello, hay que abrir el informe en vista diseño, y en el menú ver, seleccionar la opción Ordenar y Agrupar y ahí puedes seleccionar el criterio del ordenamiento. Así si que funciona.
De todas formas, gracias por todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas