在MSAccess报告中,我有以下字段:CurrentHours,Insp1DueTime,Insp2DueTime ... Inspn3DueTime等。我想要一个计算字段,输出最小值(Insp1DueTime-CurrentHours),(Insp2DueTime-Currenthours),(Insp3DueTime) -CurrentHours)等。
是否有VBA命令可以执行此操作,类似于' smallestvalue '((currenthours-insp1duetime),(Currenthours-insp2duetime),...(currenthour-InspnDueTime))
答案 0 :(得分:0)
不,但你可以使用ParamArray
:
Public Function SmallestValue(ParamArray Values())
Dim Value
For Each Value In Values
If IsEmpty(SmallestValue) Or SmallestValue > Value Then
SmallestValue = Value
End If
Next
End Function
paramarray接受任何输入,并将其放入数组中。您遍历该数组,并测试是否更大或更小。
这适用于任何输入,例如:SmallestValue(2,1,3,4)
返回1
,SmallestValue(Now(), Date(), #1/1/2001#)
返回#1/1/2001#
,SmallestValue("banana", "apple", "pear")
返回"apple"