以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  没看明白代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70791)

--  作者:jianghong_11140
--  发布时间:2015/6/29 11:34:00
--  没看明白代码

生日提醒代码如下:

Dim ids As String
Dim
n As Integer = 6 \'未来天数,含今天,所以实际是未来7天
For Each
dr As DataRow In DataTables("员工").DataRows
   
Dim dt As Date = dr("出生日期")
    Dim
dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)
    Dim
dt2 As  New Date(Date.Today.AddDays(n).Year,dt.Month,dt.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

 

为什么有了日期变量dt1了,还设置日期变量dt2?没看明白。


--  作者:Bin
--  发布时间:2015/6/29 11:38:00
--  
你要判断一个时间断嘛.   气势时间和结束时间啊.  当然有个Dt2



--  作者:大红袍
--  发布时间:2015/6/29 11:44:00
--  

 dt1 是今年的生日;

 

 dt2 是跨年的情况。

 

 比如,某一员工生日是 1月2日,而今天是 12月30日,那么未来7天的员工的生日,就是 12.30、12.31、1.1、1.2、1.3 ......但直接写 2015.1.2明显是不符合下面的比较的。应该写2016.1.2


--  作者:jianghong_11140
--  发布时间:2015/6/29 12:05:00
--  

明白了,谢谢!