以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  提醒窗体  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103632)

--  作者:peibaomin
--  发布时间:2017/7/13 7:38:00
--  提醒窗体

有一个客户资料表中的“出生日期”字段来源是“身份证号码”提取出来的,所以"出生日期"字段是字符型,想用次字段做提醒依据但转换日期型出错看看那错了?

 

Dim  ids As String
Dim n As Integer = 10  \'未来天数,含今天,所以实际是未来7天
For Each dr As DataRow In DataTables("客户资料").DataRows
    Dim  Cdt As Date = Format(CDate(dr("出生日期")),"yyyyMMdd")
    Dim  dt1 As  New  Date(Date.Today.Year,Cdt.Month,Cdt.Day)
    Dim  dt2 As   New  Date(Date.Today.AddDays(n).Year,Cdt.Month,Cdt.Day)
    If (dt1 >=  Date.Today AndAlso  dt1 <  Date.Today.AddDays(n)) OrElse (dt2 >=  Date.Today AndAlso  dt2 <  Date.Today.AddDays(n)) Then
        ids =  ids  &  ","  &  dr("_Identify")
    End If
Next
If  ids >  "" Then
    ids =  ids.Trim(",")
    Tables("客户资料").filter =  "[_Identify] In (" & ids &")"
End If


--  作者:有点甜
--  发布时间:2017/7/13 8:50:00
--  

你出生日期可以直接提取日期格式的,如

 

http://www.foxtable.com/webhelp/scr/0320.htm

 

你出生日期列存放的数据是怎样的?2017-07-13?直接转即可

 

Dim  Cdt As Date = dr("出生日期")


--  作者:peibaomin
--  发布时间:2017/7/13 10:01:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:提醒测试.table

因为“出生日期”是字符型,是20170713格式,提示错误

[此贴子已经被作者于2017/7/13 10:01:50编辑过]

--  作者:有点甜
--  发布时间:2017/7/13 10:22:00
--  
Dim  ids As String
Dim n As Integer = 10  \'未来天数,含今天,所以实际是未来7天
For Each dr As DataRow In DataTables("客户资料").DataRows
    Dim rq As String = dr("出生日期")
    If rq.Length = 8 Then
        Dim  Cdt As Date = new Date(rq.SubString(0,4), rq.SubString(4,2), rq.SubString(6,2))
        Dim  dt1 As  New  Date(Date.Today.Year,Cdt.Month,Cdt.Day)
        Dim  dt2 As   New  Date(Date.Today.AddDays(n).Year,Cdt.Month,Cdt.Day)
        If (dt1 >=  Date.Today AndAlso  dt1 <  Date.Today.AddDays(n)) OrElse (dt2 >=  Date.Today AndAlso  dt2 <  Date.Today.AddDays(n)) Then
            ids =  ids  &  ","  &  dr("_Identify")
        End If
    End If
Next
If  ids >  "" Then
    ids =  ids.Trim(",")
    Tables("客户资料").filter =  "[_Identify] In (" & ids &")"
End If