以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期do循环判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191069)

--  作者:allenyen
--  发布时间:2024/3/25 10:32:00
--  日期do循环判断
示例
生产日期=2024.03.26    提前期2天  提前日期=2024.03.24

节假日表
2024.03.24
2024.03.23
2024.03.22
2024.03.15
2024.03.14

当提前日期在节假日表中存在,则向前减一天,知道没有节假日为止,这个如何使用do循环去循环判断 

如上的结果提前日期应该是2024.03.21
[此贴子已经被作者于2024/3/25 10:32:30编辑过]

--  作者:有点蓝
--  发布时间:2024/3/25 10:38:00
--  
dim 生产日期 as date = #2024.03.26#
do while datatables("节假日表").find("日期=#" & 生产日期 & "#") isnot nothing
生产日期 = 生产日期.adddays(-1)
loop
msgbox(生产日期)

--  作者:allenyen
--  发布时间:2024/3/25 14:10:00
--  
这个会死循环
--  作者:有点蓝
--  发布时间:2024/3/25 14:13:00
--  
请上传实例说明
--  作者:allenyen
--  发布时间:2024/3/25 14:15:00
--  
For Each r As Row In Tables("排产表").rows
    Dim d As Date=r("排产日期")
    Dim d1 As Date
    d1 = d.AddDays((r("提前期")*-1))
    Do While DataTables("节假日表").Find("休息日=#" & d1 & "#") IsNot Nothing
        r("排除节假日日期")= d1.AddDays(-1)
    \'Exit Do
    Loop
        r("排除节假日日期") = d1
Next

--  作者:allenyen
--  发布时间:2024/3/25 14:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目33.foxdb


--  作者:有点蓝
--  发布时间:2024/3/25 14:17:00
--  
d1= d1.AddDays(-1)