访问VBA订购字段

时间:2014-01-25 20:37:30

标签: vba ms-access count

我希望能为我正在制定的解决方案寻求帮助。我正在使用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

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

感谢您提前提供任何帮助

1 个答案:

答案 0 :(得分:0)

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