以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期空值的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96671)

--  作者:wandongliang
--  发布时间:2017/2/25 18:51:00
--  日期空值的问题
先贴上代码
Dim nms As String
For Each dr As DataRow In DataTables("会员信息表").DataRows
    Dim dt As Date = dr("生日_公历_叔叔")
    Dim bt As Date = dr("生日_公历_阿姨")
    If (dt.Month >= e.form.Controls("TextBox1").text AndAlso dt.month < e.form.Controls("TextBox2").text) OrElse (bt.Month >= e.form.Controls("TextBox1").text AndAlso bt.month < e.form.Controls("TextBox2").text)  Then
        nms = nms & ",\'" & dr("永久编号") & "\'"
    End If
Next
If nms > "" Then
    nms = nms.Trim(",")
    Dim flt As String = Tables("会员信息表").Filter
    flt = iif(flt > "", "(" & flt & ")", "1=1")
    Tables("会员信息表").Filter = flt & " and [永久编号] In (" & nms &")"
Else
    Tables("会员信息表").filter = "[永久编号] = 0 "
End If


由于日期空值并非为0,所以以上代码,在日期为空值时,依旧能返回月份1,导致筛选1月份生日的时候,筛选不出来,如何修改才能精准的筛选出1月份生日?

--  作者:有点色
--  发布时间:2017/2/26 13:21:00
--  
For Each dr As DataRow In DataTables("会员信息表").DataRows

 

改成

 

For Each dr As DataRow In DataTables("会员信息表").Select("生日_公历_叔叔 is not null orelse 生日_公历_阿姨 is not null")