MS Access 报告排序

Posted

技术标签:

【中文标题】MS Access 报告排序【英文标题】:MS Access Report Sorting 【发布时间】:2014-04-01 15:24:47 【问题描述】:

我有一个返回 ID 和美元金额列表的查询。

我想按美元金额降序对基于此查询的报告进行排序,但我想将 ID 放在一起。即,

ID   Amount
--  --------
5    $90
3    $88
3    $5
9    $80

等等。有没有办法使用“表达式”排序来做到这一点?

谢谢!

【问题讨论】:

如果您的 Amount 是 Currency 类型,您可以使用 order by 子句对数据进行排序。 感谢您的回复。我还能将 ID 组合在一起吗? 是的,您可以在按金额排序时查询您的 ID。 我不确定我是否完全遵循。我的查询中有一个 ORDER BY amount 子句,但我想在报告中显示时将 ID 保持在一起。我该怎么做呢? 在报表中使用 order by 没有意义,报表将使用自己的顺序。对报表本身使用 Group 和 Sort。 【参考方案1】:

您实际上是按每个 ID 的最大数量排序,因此您需要在报告查询中访问该列:

SELECT a.id, 
       a.amount, 
       (SELECT Max(amount) 
        FROM   test b 
        WHERE  b.id = a.id) AS maxamount 
FROM   test a 
ORDER  BY maxamount DESC, 
          a.amount DESC; 

ID  AMOUNT  MAXAMOUNT
5   90      90
3   88      88
3   5       88
9   80      80

一旦您的查询中有MAXAMOUNT,您就可以将其用作报告排序条件。

【讨论】:

【参考方案2】:

见下文:

select ID, Amount, ID & ' ' & Amount as ID_Amount_Together From Table ORDER BY Amount Desc;

或者,如果您不想连接 Amount 和 ID,那么

select ID, Amount From Table ORDER BY Amount Desc;

【讨论】:

不太了解访问报告。也许是时候升级到 SQL Server 和 s-s-rS 了;)。 如果您不知道如何使用一项技术,是时候改变了? :)

以上是关于MS Access 报告排序的主要内容,如果未能解决你的问题,请参考以下文章

MS 访问报告

MS Access:突出显示 MS Access 报告中的特定字段

MS-Access 报告在执行时显示设计视图

编辑默认报告 - MS-Access

MS Access 报告布局

MS Access - 通过取消报告创建的“幻影”进程