我希望能为我正在制定的解决方案寻求帮助。我正在使用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
“代码”字段中的代码可以包含任意数量的记录。
感谢您提前提供任何帮助
答案 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