Foxtable(狐表)用户栏目专家坐堂 → 如何按“定时表”的设定时间执行?


  共有2746人关注过本帖树形打印复制链接

主题:如何按“定时表”的设定时间执行?

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
如何按“定时表”的设定时间执行?  发帖心情 Post By:2020/11/9 15:23:00 [显示全部帖子]

1.本实例想实现,按“定时表”设计时间,对“表A定时操作窗体和表B定时操作窗体”上进行操作,执行完成提示“已完成XXX操作”的提示?
2.“定时表”的“定时日期”字段怎么写?如“每月25日执行,每月月底执行,每隔10天执行,每隔三个月执行”。

看帮助“计划管理,和到期实例”还是没能做出来,请老师指导,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口计时器 - 副本.foxdb



计划管理

计划用于按照指定的时间间隔,执行特定的代码。

1、在“管理项目”功能区,单击下面的按钮:

图片点击可在新窗口打开查看

2、出现计划管理窗口,可以在这里增加、删除、设置计划

图片点击可在新窗口打开查看

除了名称和代码外,计划的属性还包括:

间隔:    计划执行的时间间隔,单位为毫秒。
执行:    是否执行计划
允许暂停:是否允许用户通过单击菜单中的“计划暂停”按钮,来暂停执行此计划

3、在单击“确定”按钮退出计划管理窗口后,所设置的计划即刻生效,如果要临时暂停计划的执行,可单击菜单中的计划暂停按钮:

图片点击可在新窗口打开查看

示例一

如果你希望每5分钟自动保存一次数据,可以增加一个计划,计划的执行间隔为300000(毫秒),也就是5分钟,计划的代码设为:

For Each dt As DataTable In DataTables
    dt.Save()

Next

示例二

假定希望系统每十分钟自动备份一次项目,可以增加一个计划,计划的执行间隔600000(毫秒),也就是10分钟,计划的代码为:

Static dt As Date '静态变量,用于保存上次备份的时间
Dim
 tp As TimeSpan
tp
 = Date.Now - dt
If
 tp.TotalHours >= 1 Then '如果距离上次备份已经超过一个小时
    dt = Date.Now
    Syscmd.Project.Backup("c:\data"True'自动备份到c:\data目录

End
 If


 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/10 11:55:00 [显示全部帖子]

老师,先实现二个功能:

1.“
表A定时操作窗体‘“,定时在每月25执行  “每月25执行”按键事件,怎么写?执行完成提示“已完成XXX操作”的提示?
2.在“表B定时操作窗体”上定时在每月月底执行  “每月月底执行”按键事件,怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/10 15:03:00 [显示全部帖子]

老师,试一下,由于理解不到位,没达到效果,请老师指导,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口计时器 - 副本.foxdb




 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By: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

上面代码还有问题

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/11 10:13:00 [显示全部帖子]

1.测试还是没效果。我把每月25天,改为11天,想测试一下效果,今天11日,刚好有11天,但测试没有效果,哪些出问题,请老师指导,谢谢
2.还有窗体属性计时器那个设计,与每月25天只一次就好,不要每隔一段时就执行。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口计时器 - 副本.foxdb



 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/11 14:02:00 [显示全部帖子]

1.窗体属性计时器为True,间隔3600000(1小时)
2.计时器如下,早上测一下,没反映:
If Date.Today.day = 11 AndAlso Date.now.Hour = 11 Then

    Dim btn As WinForm.Button = Forms("表A定时操作").Controls("Button2")
    btn.PerformClick()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/11 16:05:00 [显示全部帖子]

老师,刚才改测试一下还没有效果,不执行。间隔1分钟(60000)。

If Date.Today.day = 11 AndAlso Date.now.Hour = 16 Then

    Dim btn As WinForm.Button = Forms("表A定时操作").Controls("Button2")
    btn.PerformClick()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1357 积分:8996 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2020/11/11 16:46:00 [显示全部帖子]

老师,我这边没反映,需求是定时时间到执行"Button2","Button2"已写对表A增行,而测试时间到没执行,上实例,帮看,修改一下,谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口计时器 - 副本.foxdb



 回到顶部