我一直在对这个主题进行一些研究,但似乎找不到可行的解决方案,或者一个解释得足够好让我实施的解决方案。
如果您曾经在 Access 中创建过交叉表查询,您就会知道默认情况下 Access 按字母顺序对列进行排序。您可以通过转到“属性”对话框并按照您喜欢的顺序输入列标题来更改此顺序。这是一个真正的痛苦,但正如另一个网站上的一位回答者所说,“这只是一次痛苦! ”
好吧...如果您的列是动态的,则情况并非如此。就我而言,我在表格中有第二列,其中包含我想使用该字段进行排序的列标题。我想我可以将排序列的详细信息附加到描述列的前面(在其他地方已经建议),但我不认为这是解决问题的最优雅的方法。这尤其是一个问题,因为排序信息是系统数据,对交叉表的最终用户无用。
有谁知道这个问题的解决方案?如果是这样,您能否详细说明对交叉表查询的动态列进行排序的步骤?
我认为这个问题在所有常用的 Access 版本(Access 2003+)中都存在,但为了以防万一,我使用的是 Access 2010。
更新
这是一些非常简单的示例数据,有助于表达问题。在我的现场场景周围还有一些其他的复杂性,但这个数据集肯定能说明问题。
表#1
这是标题的来源。Key
是列顺序的排序,是Descriptions
交叉表中的输出标题。
+---------+---------------------------------------+
| Key | Descriptions |
+---------+---------------------------------------+
| Kfsg2E | Hey, this is accounting code X! |
+---------+---------------------------------------+
| abR3 | This is yet another accounting code! |
+---------+---------------------------------------+
| Gruu! | Yet another accounting code |
+---------+---------------------------------------+
表#2这是数据的存储
P_Key + F_Key
是唯一的,这两个是表上的主键。
+---------+---------+-------+
| 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 |
+---------+---------+-------+
交叉表结果 这些被导出到 Excel 供用户更新。
+---------+---------------------------------+--------------------------------------+-----------------------------+
| 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 |
+---------+---------------------------------+--------------------------------------+-----------------------------+
这就是 Access 对这些列进行排序的方式。但是,我需要它看起来像下表,它是根据 中的键排序的Table #1
,而不是Description
.
+---------+--------------------------------------+-----------------------------+---------------------------------+
| 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 |
+---------+--------------------------------------+-----------------------------+---------------------------------+