Como posso classificar as colunas em uma consulta cruzada, quando os dados da coluna são dinâmicos?

Eu tenho feito um pouco de pesquisa sobre este tópico e não consigo encontrar uma solução viável, ou uma que seja bem explicada para eu implementar.

Se você já criou uma consulta cruzada no Access, está ciente de que, por padrão, o Access classifica suas colunas em ordem alfabética. Você pode alterar este pedido indo até oPropriedades diálogo e inserindo oCabeçalhos de Coluna na ordem que você preferir. Isso é uma dor real, mas, como um entrevistado mencionou em outro site, "é apenas uma doruma vez"

Bem, isso não é verdade se suas colunas são dinâmicas. No meu caso, tenho uma segunda coluna na tabela que contém os títulos das colunas que gostaria de usar nesse campo para classificação. Eu acho que eu poderia anexar os detalhes da minha coluna de classificação, à frente da coluna de descrição (que foi sugerida em outro lugar), mas eu não sinto que este seja o meio mais elegante de resolver o problema. Isso é especialmente um problema, já que as informações de classificação são dados do sistema e inúteis para o usuário final da crosstab.

Alguém sabe de uma solução para este problema? Em caso afirmativo, você poderia soletrar as etapas para classificar as colunas dinâmicas de uma consulta cruzada?

Eu acho que o problema é persistente em todas as versões do Access que estão em uso comum (Access 2003+), mas apenas no caso de fazer a diferença, estou usando o Access 2010.

ATUALIZAR

Aqui estão alguns dados de amostra muito simplistas que ajudam a expressar o problema. Existem algumas outras complexidades em torno do meu cenário ao vivo, mas esse conjunto de dados certamente mostra o ponto.

Tabela 1 É aqui que os títulos vêm. oKey é o tipo para a ordem das colunas, e oDescriptions é o cabeçalho gerado na crosstab.

+---------+---------------------------------------+
| Key     | Descriptions                          |
+---------+---------------------------------------+
| Kfsg2E  | Hey, this is accounting code X!       |
+---------+---------------------------------------+
| abR3    | This is yet another accounting code!  |
+---------+---------------------------------------+
| Gruu!   | Yet another accounting code           |
+---------+---------------------------------------+

Mesa 2 Esta é a loja de dadosP_Key + F_Key é único e os dois são uma chave primária na tabela.

+---------+---------+-------+
| P_Key   | F_Key   | Value |
+---------+---------+-------+
| 1001    |Kfsg2E   | 1.0   |
+---------+---------+-------+
| 1001    |abR3     | 1.1   |
+---------+---------+-------+
| 1001    |Gruu!    | 1.2   |
+---------+---------+-------+
| 1002    |Kfsg2E   | 2.0   |
+---------+---------+-------+
| 1002    |abR3     | 2.1   |
+---------+---------+-------+
| 1002    |Gruu!    | 2.2   |
+---------+---------+-------+
| 2001    |Kfsg2E   | 3.0   |
+---------+---------+-------+
| 2001    |abR3     | 3.1   |
+---------+---------+-------+
| 2001    |Gruu!    | 3.2   |
+---------+---------+-------+

Resultados de referência cruzada Estes são exportados para o Excel para o usuário atualizar.

+---------+---------------------------------+--------------------------------------+-----------------------------+
| P_Key   | Hey, this is accounting code X! | This is yet another accounting code! | Yet another accounting code |
+---------+---------------------------------+--------------------------------------+-----------------------------+
| 1001    | 1.0                             | 1.1                                  | 1.2                         |
+---------+---------------------------------+--------------------------------------+-----------------------------+
| 1001    | 2.0                             | 2.1                                  | 2.2                         |
+---------+---------------------------------+--------------------------------------+-----------------------------+
| 1001    | 3.0                             | 3.1                                  | 3.2                         |
+---------+---------------------------------+--------------------------------------+-----------------------------+

É assim que o Access classifica essas colunas. No entanto, o que eu preciso para se parecer é a tabela abaixo, que é classificada fora da chave emTable #1, ao invés deDescription.

+---------+--------------------------------------+-----------------------------+---------------------------------+
| P_Key   | This is yet another accounting code! | Yet another accounting code | Hey, this is accounting code X! |
+---------+--------------------------------------+-----------------------------+---------------------------------+
| 1001    | 1.1                                  | 1.2                         | 1.0                             |
+---------+--------------------------------------+-----------------------------+---------------------------------+
| 1001    | 2.1                                  | 2.2                         | 2.0                             |
+---------+--------------------------------------+-----------------------------+---------------------------------+
| 1001    | 3.1                                  | 3.2                         | 3.0                             |
+---------+--------------------------------------+-----------------------------+---------------------------------+

questionAnswers(4)

yourAnswerToTheQuestion