Office中国论坛/Access中国论坛

标题: [已解决]行数据中取最大日期值,其中有空值 [打印本页]

作者: coolabc    时间: 2008-6-19 10:55
标题: [已解决]行数据中取最大日期值,其中有空值
在表中进行查询,需要将表中的几个字段中取出最大的日期值。但是其中有空值。
函数为cdate(Maximum(字段1,字段2,字段3,字段4,字段5,字段6))
其中函数Maximum()是这样定义的
Function Maximum(ParamArray FieldArray() As Variant)
    Dim I As Integer
    Dim currentVal As Variant
    currentVal = FieldArray(0)
    For I = 0 To UBound(FieldArray)
        If FieldArray(I) > currentVal Then
            currentVal = FieldArray(I)
        End If
    Next I
    Maximum = currentVal
End Function
但是出来的结果有错误。
详细见例子



解决方法:SELECT 总表.存货编码, 总表.最近销售日期, 总表.今年发货数量, 总表.今日库存, 总表.去年销售数量, 总表.昨日库存, 总表.今年平均销量, 总表.年平均销量, CDate(Maximum(条件1,条件2,条件3,条件4,条件5,条件6)) AS [Max Hit date], nz(总表.条件①," ") AS 条件1, nz(总表.条件②," ") AS 条件2, nz(总表.条件③," ") AS 条件3, nz(总表.条件④," ") AS 条件4, nz(总表.条件⑤," ") AS 条件5, nz(总表.条件⑥," ") AS 条件6
FROM 产品信息 INNER JOIN 总表 ON 产品信息.存货编码 = 总表.存货编码

[ 本帖最后由 coolabc 于 2008-6-20 11:40 编辑 ]
作者: huangqinyong    时间: 2008-6-19 11:23
可参考《日期型和数据型行数据取最大值示例》http://www.office-cn.net/forum.p ... ght=%2Bhuangqinyong
作者: coolabc    时间: 2008-6-19 11:44
原帖由 huangqinyong 于 2008-6-19 11:23 发表
可参考《日期型和数据型行数据取最大值示例》http://www.office-cn.net/forum.php?mod=viewthread&tid=60626&highlight=%2Bhuangqinyong


这个我也参照过,但是如果里面有空值就不能比较了
作者: gdfsslec    时间: 2008-6-19 14:58
用NZ()解决[:45]
作者: coolabc    时间: 2008-6-19 17:40
格式怎么定呢?
不能直接赋值0,比较出来的是乱的!
作者: coolabc    时间: 2008-6-20 10:46
还请各位帮帮忙!
作者: coolabc    时间: 2008-6-20 11:32
问题解决了。是自己字段写错了。用NZ()可以解决了。感谢!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3