【问题标题】:MS Access Report SortingMS Access 报告排序
【发布时间】: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。

标签: ms-access report


【解决方案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 和 SSRS 了;)。
    • 如果您不知道如何使用一项技术,是时候改变了? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多