以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期过期  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176475)

--  作者:nxqtxwz
--  发布时间:2022/4/14 14:52:00
--  日期过期
下面的代码当今天的日期超过了入库_过期日期就不起动e.style = "物资过期提醒"了,我想让它起动以后一直保持"物资过期提醒"怎么写呢

Dim n As Integer = 30
Dim dt As Date = e.Row("入库_过期日期") 
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
    e.style = "物资过期提醒"
End If


--  作者:有点蓝
--  发布时间:2022/4/14 15:00:00
--  
怎么样启动的?这样才算是启动?
--  作者:nxqtxwz
--  发布时间:2022/4/14 15:06:00
--  
现在启动后如果过了“入库过期日期”就不提醒了,我想让它启动后一直提醒。
比如过期日期是:2022-04-13,它到今天就自动不提醒了。我想让它继续提醒。

--  作者:有点蓝
--  发布时间:2022/4/14 15:13:00
--  
那就去掉判断今天的代码咯
--  作者:nxqtxwz
--  发布时间:2022/4/14 15:22:00
--  
我把判断今天的日期去掉也不行呀,去掉以后本来没有输入过期日期的记录也被提醒了。
dt1 >= Date.Today

--  作者:有点蓝
--  发布时间:2022/4/14 15:24:00
--  
没有输入过期日期的,的判断是不是空值咯:http://www.foxtable.com/webhelp/topics/0595.htm
--  作者:nxqtxwz
--  发布时间:2022/4/18 9:10:00
--  
要求离入库_过期日期小于30天提醒,但到入库_过期日期到2024年还提醒,是不是没有考虑年呢,请老师指导一下。谢谢。

If e.Row("是否分发完") = False Then
    If e.Row.isnull("入库_过期日期") = False Then
        Dim n As Integer = 30
        Dim dt As Date = e.Row("入库_过期日期")
        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.AddDays(n)) OrElse (dt2 >= Date.Today AndAlso dt2 < Date.Today.AddDays(n)) Then
            e.style = "物资过期提醒"
        End If
    End If
End If

--  作者:有点蓝
--  发布时间:2022/4/18 9:18:00
--  
If e.Row("是否分发完") = False Then
    If e.Row.isnull("入库_过期日期") = False Then
        Dim n As Integer = -30
        Dim dt As Date = e.Row("入库_过期日期")
        Dim dt1 As Date = dt.AddDays(n)
        If (dt1 < Date.Today) andalso (dt >= Date.Today) Then
            e.style = "物资过期提醒"
        End If
    End If
End If