Orden personalizado en un informe Access

Tengo una BD access con los trabajadores de la empresa, divididos en Departamentos y Secciones ademas de todos sus datos personales.

Cuando genero un informe por ejemplo de los teléfonos de contacto del personal, puedo agrupar y ordenar por Departamentos y Secciones. El agrupar me da igual el orden pero me gustaría que estuvieran ordenados de manera personalizada no como viene por defecto (A-Z), (Z-A), por ejemplo:

El Informe se me ordenan por defecto los departamentos (A-Z):

ASISTENCIA

COMPRAS

FORMACIÓN

JEFE DEPARTAMENTO

OPERACIONES

Me gustaría que estuviera ordenado de la siguiente forma:

JEFE DEPARTAMENTO

OPERACIONES

COMPRAS

ASISTENCIA

FORMACION

¿Es posible?

2 respuestas

Respuesta
1

Oscar: Muestra tu informe en vista de Diseño:

En una sección cualquiera, pulsa con el botón derecho del mouse. Se te abrirá un Formulario emergente.

Pulsa en Ordenar y agrupar. Ahí vas añadiendo el orden que quieras en escalera. Saludos > Jacinto

Muchas gracias, así lo tengo de manera habitual pero solo se ordena de A a Z o de Z a A, y lo que quiero que aparezca no cumple ese orden. O eso o no entiendo como ordenarlo como dices.

  • JEFE DEPARTAMENTO (J)
  • OPERACIONES (O)
  • COMPRAS (C)
  • ASISTENCIA (A)
  • FORMACION (F)

Oscar: Es posible que no entienda lo que quieres decir. Lo que te he sugerido ordena por campos y con la jerarquía que tu le pongas. Imagino que habrás desplegado el Menú de ordenación y en él puedes elegir lo de la figura.

Si es que lo haces así ( agregando escalones, en la figura solo hay 1), y no es lo que quieres, la verdad no sé que sugerirte. Un saludo >> Jacinto

Respuesta
1

Una solución fácil, sería construir una consulta con los campos que vas a usar para tu informe y crear un nuevo campo en esa cosnulta con el número de orden que le quieres dar a cada departamento, por ejemplo:

Orden: SiInm([Departamento]="JEFE DEPARTAMENTO";1;SiInm([Departamento]="OPERACIONES";2;SiInm([Departamento]="COMPRAS";3;SiInm([Departamento]="ASISTENCIA";4;5))))

Y luego en el informe agrupas y ordenas por ese campo Orden (que pondrás oculto para que no se vea)

Otra forma sería tener una función en VBA que devuelva el orden del departamento y usarla para crear el campo en la consulta, por ejemplo:

Public Function fncOrden(elDepartamento As String) As Integer
Select Case elDepartamento
Case "JEFE DEPARTAMENTO"
fncOrden=1
Case "OPERACIONES"
fncOrden=2
Case "COMPRAS"
fncOrden=3
Case "ASISTENCIA"
fncOrden=4
Case "FORMACION"
fncOrden=5
End Select
End Function

Y luego creas el campo así:

Orden: fncOrden([Departamento])

Un saludo.


¡Gracias! 

He usado la opción de la creación de la consulta con todos los departamentos y llamar a esa consulta desde el informa, simplemente ordenar los datos.

Funciona perfectamente todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas