我以前在这里依赖其他人的帖子,我希望有人能够给我一些帮助。这是我第一次做自己的VBA功能。基于现有数据添加列的MS Access查询函数
我想创建一个查询,查看一列,在这种情况下计算的百分比字段,并根据百分比落入的范围在新列中放置一个值。想想它就像学校的成绩:80%-90%会是B.
问题出现在标准中。在这个函数中还包含了第三列,用于更改百分比范围,就像科学类对于A,B,C等有不同范围一样。我总共需要返回8 类和5 等级,因此查询中的IIF()
语句似乎有点多。相关的信息包含如下:
查询名称:Test_Percentage_Qry
'级' 列名:源
百分比列名:CalcPerc
'等级' 列名:得分
现有功能代码:
Public Function fFCRScore() As String
If Test_Percentage_Qry.Source = "Science" Then
If Test_Percentage_Qry.CalcPerc = "100.00%" Then
fFCRScore = 10
ElseIf Test_Percentage_Qry.CalcPerc >= "85.00%" Then
fFCRScore = 10
ElseIf Test_Percentage_Qry.CalcPerc >= "80.00%" And Test_Percentage_Qry.CalcPerc < "85.00%" Then
fFCRScore = 8
ElseIf Test_Percentage_Qry.CalcPerc >= "75.00%" And Test_Percentage_Qry.CalcPerc < "80.00%" Then
fFCRScore = 6
ElseIf Test_Percentage_Qry.CalcPerc >= "70.00%" And Test_Percentage_Qry.CalcPerc < "75.00%" Then
fFCRScore = 4
ElseIf Test_Percentage_Qry.CalcPerc < "70.00%" Then
fFCRScore = 2
End If
End If
感谢您的帮助!
编辑:我要指出,我得到一个
424对象所需的运行时错误
我想这是我如何参照我的查询列,但不是100%确定的。我似乎从未想过MS Access想要完成的方式。
您需要查看'recordset'对象,我相信或'dlookup'或使用每个主题的等级阈值并加入他们的表 –