MS Access 2003如何使用多个字段在表单中执行max-min计算

时间:2014-07-15 17:05:34

标签: ms-access ms-access-2003

我有一个包含多个字段的表单。我有一个字段,我需要找到输入数字的最大值和最小值,并从最大值中减去最小值。

基本上,用户将数据输入表格:

  • field1 = 5
  • field2 = 4
  • field3 = 2
  • field4 = 1
  • field5 = 3

    fieldcalc =(max(field1,field2,field3,field4,field5)) - (min(field1,field2,field3,field4,field5))

应该返回4

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您可以编写如下函数:

Public Function ReturnMinOrMax(intMinOrMax As Byte, ParamArray vals()) As Long
'intMinOrMax: 0 for min, non-0 for max

    Dim v As Variant
    Dim i As Variant

    i = vbNull

    For Each v In vals
        If IsNull(v) = False Then
            If IsNull(i) = True Then i = v

            Select Case intMinOrMax
                Case 0
                    If v < i Then i = v
                Case Else
                    If v > i Then i = v
            End Select
        End If
    Next

    ReturnMinOrMax = CLng(i)

End Function

并称之为:

fieldcalc = ReturnMinOrMax(1, field1, field2, field3, field4, field5) - ReturnMinOrMax(0, field1, field2, field3, field4, field5)

该函数使用一个标志来返回min或max以及一个ParamArray,您可以根据需要传递任意数量的字段。只需传递所有值并执行减法操作。