【问题标题】:How to position specific record(s) at top of list如何将特定记录放在列表顶部
【发布时间】:2018-11-22 21:32:46
【问题描述】:

我正在处理查询中的所有货币类型和汇率。由于它们是最受欢迎的,是否可以在按字母顺序显示其余货币代码之前将 USD 和 EUR 置于查询列表的顶部?

【问题讨论】:

    标签: ms-access vba ms-access-2016


    【解决方案1】:

    假设您的表名为 tblRate,有两列,Rate 和 Curr。 创建一个查询,该查询使用 Switch 函数将排名顺序分配给 USD(排名顺序 1)、EUR(排名顺序 2)。 使用 Nz 函数将排名顺序 3 分配给所有其他货币。 在您的查询中,您按排名排序,然后按货币排序。

    SQL 视图:

    SELECT Rate, Curr
    FROM tblRate
    ORDER BY Nz(Switch(Curr = "USD",1, Curr = "EUR",2),3), Curr
    

    【讨论】:

      【解决方案2】:

      如果您有一个为列表提供源数据的表格,请在表格中添加一个“OrderNum”列,然后将 1 和 2 分别放入 USD 和 EUR。然后,在其他所有内容中,输入一个更大的数字,例如 3。如果它们之后都需要按照字母顺序排列,则使排序命令在向列表框或下拉列表提供数据的查询中具有两个变量。如果包含货币代码的表称为“tblCurrencyCode”,包含代码的字段称为“CurrencyCode”,您的代码将如下所示:

      选择货币代码 FROM tblCurrencyCode ORDER BY OrderNum ASC, CurrencyCode ASC

      【讨论】:

        【解决方案3】:

        另一种方法是:

        从您的货币表中为最常用的货币创建一个查询,然后将该列表与您的货币列表查询相结合。

        类似的东西。

        Select currency 
        from QryMostUsedCurrencies
        Union all
        Select currency from CurrencyTable
        where currency not in (select currency from QryMostUsedCurrencies)
        

        通过这种方式,您可以在单独的查询中保留最常用货币的列表。通过动态查看过去的交易或从货币表中简单地选择查询来查找您想要显示在顶部的那些项目。 这可以帮助您在一个地方更改您的most used 货币,而不是在多个地方对 sql 进行排名。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-01-15
          • 1970-01-01
          • 2015-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多