【问题标题】:Access VBA ordering fields访问 VBA 排序字段
【发布时间】:2014-01-26 06:23:39
【问题描述】:

我希望就我正在研究的解决方案获得一些帮助。我正在使用 Access 并尝试开发将通过表格和订单字段的 VBA 模块。我有一个表(code_percents),其中包含特定代码(在一个名为“code”的字段中)和相关的百分位数(在一个名为“percent”的字段中)。我想填充另一个字段(“顺序”),该字段在每个代码的基础上从最大到最小对百分位数进行排序。因此,1 将分配给每个代码的最高百分比,依此类推。我在下面有一个简短的示例来帮助解释我正在尝试做的事情。

code  percent  order
----  -------  -----
001      0.54      1
001      0.43      2
001      0.02      3
001      0.01      4
002      1.00      1
003      0.75      1
003      0.25      2

“代码”字段中的代码可以有任意数量的记录。

提前感谢您的帮助

【问题讨论】:

  • 请编辑您的问题以包含您尝试用于完成此任务的现有 VBA 代码。
  • 您可能还想提及为什么您希望这样做,而不是使用 SQL 解决方案。

标签: vba ms-access count


【解决方案1】:
Public Sub OrderPercentiles()
Dim sql As String
Dim rs  As Recordset
Dim n   As Long
Dim cod As String

    sql = "SELECT * FROM code_percents ORDER BY [code], [percent] DESC"
    Set rs = CurrentDb.OpenRecordset(sql, DB_OPEN_DYNASET)

    Do While Not rs.EOF
        cod = rs!code
        n = 0
        Do While cod = rs!code
            n = n + 1
            rs.Edit
                rs!Order = n
            rs.Update
            rs.MoveNext
            If rs.EOF Then Exit Do
        Loop
    Loop
    rs.Close

End Sub

【讨论】:

    猜你喜欢
    • 2022-01-28
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2012-05-25
    • 2023-01-09
    相关资源
    最近更新 更多