以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮狐爸找Bug。帮助中关于生日提醒的错误。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27178)

--  作者:Fotable
--  发布时间:2012/12/24 14:05:00
--  帮狐爸找Bug。帮助中关于生日提醒的错误。

生日提醒的代码,有个bug。

就是当该用户的生日栏没有填写 为空值的时候。也会被认为是快要过生日了

 

我这里做了个例子 大家测试一下

 

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


--  作者:狐狸爸爸
--  发布时间:2012/12/24 17:10:00
--  
收到
--  作者:Fotable
--  发布时间:2012/12/25 16:18:00
--  
以下是引用muhua在2012-12-24 14:45:00的发言:

Dim ids As String
Dim n As Integer = 9 \'未来天数,含今天,所以实际是未来7天
For Each dr As DataRow In DataTables("员工").DataRows
    Dim birthday As Date
    If dr("生日").Month = 1 AndAlso dr("生日").Day < 9 Then
        birthday = Cdate(Date.Today.AddYears(1).Year & "-" & dr("生日").Month & "-" & dr("生日").Day)
    Else
        birthday = Cdate(Date.Today.Year & "-" & dr("生日").Month & "-" & dr("生日").Day)
    End If
    Dim t As TimeSpan = birthday - Date.Today
    If t.Days >0 AndAlso t.Days  < 9 Then
        \'If (dt1 >= Date.Today AndAlso dt1 < Date.Today.AddDays(n)) OrElse (dt2 >= Date.Today AndAlso dt2 < Date.Today.AddDays(n)) Then
        ids = ids & "," & dr("姓名")
    End If
Next
If ids > "" Then
    ids = ids.Trim(",")
    messagebox.show("未来"& n &"天内是" & ids & "的生日,给他们送去祝福吧.","生日提醒")
    \'Tables("员工").filter = "[_Identify] In (" & ids &")"
End If

[此贴子已经被作者于2012-12-24 15:17:16编辑过]

muhua  你修改了哪里呀


--  作者:Fotable
--  发布时间:2012/12/25 16:28:00
--  
原因在于 原来的代码 会认为 没有填写生日的人的生日是1月1日
--  作者:sunbrain
--  发布时间:2012/12/31 10:11:00
--  
If ids > "" Then
    ids = ids.Trim(",")
    messagebox.show("未来"& n &"天内是" & ids & "的生日,给他们送去祝福吧.","生日提醒")
    \'Tables("员工").filter = "[_Identify] In (" & ids &")"
End If
加红色部分,筛选有问题吗?怎么筛选不出结果呢?
麻烦大家帮助看看
谢谢


--  作者:lin_hailun
--  发布时间:2012/12/31 10:16:00
--  
以下是引用sunbrain在2012-12-31 10:11:00的发言:
If ids > "" Then
    ids = ids.Trim(",")
    messagebox.show("未来"& n &"天内是" & ids & "的生日,给他们送去祝福吧.","生日提醒")
    \'Tables("员工").filter = "[_Identify] In (" & ids &")"
End If
加红色部分,筛选有问题吗?怎么筛选不出结果呢?
麻烦大家帮助看看
谢谢


是指上面的例子吗?

--  作者:sunbrain
--  发布时间:2012/12/31 10:19:00
--  
是的,麻烦林老师帮助看看,我做了个小例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生日提醒.table


--  作者:sunbrain
--  发布时间:2012/12/31 11:16:00
--  
我怎么都筛选不出结果,不知道是不是筛选代码错误?
--  作者:lin_hailun
--  发布时间:2012/12/31 11:22:00
--  
 基本这样了。

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



--  作者:Fotable
--  发布时间:2013/3/19 14:48:00
--  
以下是引用sunbrain在2012-12-31 10:11:00的发言:
If ids > "" Then
    ids = ids.Trim(",")
    messagebox.show("未来"& n &"天内是" & ids & "的生日,给他们送去祝福吧.","生日提醒")
    \'Tables("员工").filter = "[_Identify] In (" & ids &")"
End If
加红色部分,筛选有问题吗?怎么筛选不出结果呢?
麻烦大家帮助看看
谢谢

帅选指令确实有错误,应该是 Tables("员工").filter = "[_Identify] In (\'" & ids &"\')"