以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何按“定时表”的设定时间执行? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158133) |
-- 作者:lin98 -- 发布时间:2020/11/9 15:23:00 -- 如何按“定时表”的设定时间执行? 1.本实例想实现,按“定时表”设计时间,对“表A定时操作窗体和表B定时操作窗体”上进行操作,执行完成提示“已完成XXX操作”的提示? 2.“定时表”的“定时日期”字段怎么写?如“每月25日执行,每月月底执行,每隔10天执行,每隔三个月执行”。 看帮助“计划管理,和到期实例”还是没能做出来,请老师指导,谢谢 计划管理 计划用于按照指定的时间间隔,执行特定的代码。 1、在“管理项目”功能区,单击下面的按钮: 2、出现计划管理窗口,可以在这里增加、删除、设置计划: 除了名称和代码外,计划的属性还包括: 间隔: 计划执行的时间间隔,单位为毫秒。 3、在单击“确定”按钮退出计划管理窗口后,所设置的计划即刻生效,如果要临时暂停计划的执行,可单击菜单中的计划暂停按钮: 示例一 如果你希望每5分钟自动保存一次数据,可以增加一个计划,计划的执行间隔为300000(毫秒),也就是5分钟,计划的代码设为: For Each dt As DataTable In DataTables 示例二 假定希望系统每十分钟自动备份一次项目,可以增加一个计划,计划的执行间隔600000(毫秒),也就是10分钟,计划的代码为: Static dt As Date \'静态变量,用于保存上次备份的时间 |
-- 作者:有点蓝 -- 发布时间:2020/11/9 15:44:00 -- 这个时间设置太随意,想了一下,我也做不了 |
-- 作者:lin98 -- 发布时间:2020/11/10 11:55:00 -- 老师,先实现二个功能: 2.在“表B定时操作窗体”上定时在每月月底执行 “每月月底执行”按键事件,怎么写?
|
-- 作者:有点蓝 -- 发布时间:2020/11/10 12:09:00 -- 到窗口计时器处理,计时间隔设置为1小时,即1000*60*60。 然后计时器事件判断当天是否25号0时,如果是,则执行按钮事件:http://www.foxtable.com/webhelp/topics/2309.htm |
-- 作者:lin98 -- 发布时间:2020/11/10 15:03:00 -- 老师,试一下,由于理解不到位,没达到效果,请老师指导,谢谢 |
-- 作者:有点蓝 -- 发布时间:2020/11/10 15:07:00 -- 1、没有启用:http://www.foxtable.com/webhelp/topics/1301.htm 2、没看到有任何和计时日期判断有关的代码:http://www.foxtable.com/webhelp/topics/1322.htm
|
-- 作者:lin98 -- 发布时间:2020/11/10 22:29:00 -- Dim d1 As Date = Date.Today If d1 = Date.Today.AddDays(25) Then Dim btn As WinForm.Button = Forms("表A定时操作").Controls("Button2") Else Dim btn As WinForm.Button = Forms("表B定时操作").Controls("Button3") End If 上面代码还有问题
|
-- 作者:有点蓝 -- 发布时间:2020/11/10 22:40:00 -- if Date.Today.day = 25 andalso Date.now.Hour = 0 then Dim btn As WinForm.Button = Forms("表A定时操作").Controls("Button2") btn.PerformClick() end if 到每个窗口的计时器写代码处理自己的业务,不要在A窗口计时器处理其它窗口
|
-- 作者:lin98 -- 发布时间:2020/11/11 10:13:00 -- 1.测试还是没效果。我把每月25天,改为11天,想测试一下效果,今天11日,刚好有11天,但测试没有效果,哪些出问题,请老师指导,谢谢 2.还有窗体属性计时器那个设计,与每月25天只一次就好,不要每隔一段时就执行。
|
-- 作者:有点蓝 -- 发布时间:2020/11/11 10:20:00 -- 1、8楼的代码是指定25日0时执行一次代码。如果不是0时是不执行的,其它事件测试可以改,比如中午12时:if Date.Today.day = 25 andalso Date.now.Hour = 12 then 2、由于时间间隔是一个固定的值,而每个月份的天数不定,启动服务的时间也无法确定,没有办法直接设置间隔为25天。只能是设定一个比较小的时间间隔内进行判断,8楼的代码虽然每1小时就判断一次时间,但是按钮肯定只会执行一次,因为1小时的间隔内0时只可能出现一次
|