access获取列表的最小值

2019-10-26 15:31:00
Allen Browne
翻译
186

access不能像Excel一样,用Min()和Max()函数直接选择任意列表中的最小/最大值。

access一般都是在一列数据中找出最值。不能跨字段获取

下面函数,可以直接找出多个值包括货币和日期的最小值,如果列表中没有数值,则它们返回Null

Function MinOfList(ParamArray varValues()) As Variant
    Dim i As Integer        'Loop controller.
    Dim varMin As Variant   'Smallest value found so far.

    varMin = Null           'Initialize to null

    For i = LBound(varValues) To UBound(varValues)
        If IsNumeric(varValues(i)) Or IsDate(varValues(i)) Then
            If varMin <= varValues(i) Then
                'do nothing
            Else
                varMin = varValues(i)
            End If
        End If
    Next

    MinOfList = varMin
End Function



也可以在一个有三个日期字段的查询中,添加新列获取最小值

MinOfList([OrderDate], [InvoiceDate], [DueDate])

    分享