以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  周期性新增行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192571)

--  作者:1234567
--  发布时间:2024/7/2 16:37:00
--  周期性新增行
老师:我想在每周一早上8点的时候,在表A中新增一行,并在新增行的任务列中填入早会",求代码。
--  作者:有点蓝
--  发布时间:2024/7/2 16:58:00
--  
是要在打开项目的时候新增?

还是说这个电脑和项目打开后一直不关闭,然后到时间自动新增?这种到计划管理处理即可,比如
 dim d as datw = date.now
if d.DayOfWeek = 1 andalso d.hour = 8 then
dim r as row = tables("表A").addnew
r("任务")="早会"
MyTimers("计划1").Enabled = False
end if

--  作者:1234567
--  发布时间:2024/7/3 8:35:00
--  
老师:为什么需要加上计划暂停这段代码?MyTimers("计划1").Enabled=False
--  作者:有点蓝
--  发布时间:2024/7/3 8:40:00
--  
这要看间隔的设置了,如果间隔是1个小时以上,可以不停止。如果间隔在1个小时以内,比如10分钟,那么1个小时就有6个10分钟,不停止就会触发6次,新增6行
--  作者:1234567
--  发布时间:2024/7/3 9:39:00
--  

设置了暂停,那么到了下周一的8点,是否也会被暂停执行代码?


--  作者:有点蓝
--  发布时间:2024/7/3 10:07:00
--  
如果停止了计划管理,没有另外开启,并且项目一直打开没有关闭重启过。这个计划管理就不会工作了。如果项目是24小时运行不关闭的,改下代码判断

比如间隔是10分钟
if d.DayOfWeek = 1 andalso d.hour = 8 andalso d.Minute <= 10 then

--  作者:1234567
--  发布时间:2024/7/3 10:33:00
--  

每周二上午8:00-9:00或者每月21日的上午8:00-9:00,是不是这样写?

IF (d.Dayofweek = 2 AndAIso d.hour = 8 AndAIso d.Minute <=60) orEIse (d.Day = 21 AndAIso d.hour = 8 AndAIso d.Minute <= 60)  Then


--  作者:有点蓝
--  发布时间:2024/7/3 10:59:00
--  
还要看间隔的设置,如果间隔是1小时,【AndAIso d.Minute <=60】没有什么用处,可以去掉。

总体可以这样判断
IF (d.Dayofweek = 2 orelse d.Day = 21) AndAIso d.hour = 8  Then

--  作者:1234567
--  发布时间:2024/7/20 14:07:00
--  

如果有大量的周期性新增项目,能否按帮助说明的《可视化授权的实现》的方式,自动新增行。


--  作者:有点蓝
--  发布时间:2024/7/20 14:10:00
--  
请举例说明