Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现:当系统空闲时自动每隔五钟自动同步一下表?


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

主题:[求助]如何实现:当系统空闲时自动每隔五钟自动同步一下表?

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


加好友 发短信
等级:婴狐 帖子:20 积分:299 威望:0 精华:0 注册:2014/8/10 9:03:00
[求助]如何实现:当系统空闲时自动每隔五钟自动同步一下表?  发帖心情 Post By:2019/2/13 15:26:00 [只看该作者]

我的项目中表格数量不多,有两张表最常用,大约有十几个人在时刻打开这两张表。我已经设置了编辑后自动保存。添加了两个按钮,点击可以同步更新这两张表。但为了更省事,想让这两张表在系统空闲时每隔几分钟就自动同步一次。请问应怎么写代码?

先谢谢大神们!

 

 

SystemIdle


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


加好友 发短信
等级:婴狐 帖子:20 积分:299 威望:0 精华:0 注册:2014/8/10 9:03:00
  发帖心情 Post By:2019/2/13 15:31:00 [只看该作者]

If LastInputTickCount > 300000 Then
    Tables("表名").Load()

End
If

 

按上面这样写可以吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/13 15:41:00 [只看该作者]

1、你2楼那样写没问题;

 

2、但是,LastInputTickCount,是你电脑没有操作的时间,也就是鼠标、键盘等都没有用过的时候的空闲时间。

 

如果你在电脑操作其它东西,上网、玩游戏等,没有操作foxtable,也希望这个时候也同步,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=79606&skin=0

 


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


加好友 发短信
等级:婴狐 帖子:20 积分:299 威望:0 精华:0 注册:2014/8/10 9:03:00
  发帖心情 Post By:2019/2/13 17:08:00 [只看该作者]

谢谢有点甜老师。我按照您的提示修成了以下代码:

static ts As Date = Date.Now
If Windows.Forms.Form.ActiveForm IsNot Nothing Then
    ts = Date.now
Else
    Dim sp As TimeSpan = Date.now - ts
    If sp.TotalSeconds > 30 Then
        DataTables("表名").Load()
        ts = Date.now
    End If
End If

经过测试,效果良好。然后我又把上次跟您学习的另一些代码(表格同步后,返回到原来的显示位置)加进去。这样运行起来,就每过几分钟同步一次,因为数据量也不太大,所以感觉不到系统有负担。实际效果相当于某些在线版的实时同步表格了,所以非常理想。

感谢您!

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


加好友 发短信
等级:童狐 帖子:274 积分:1788 威望:0 精华:0 注册:2013/2/18 23:22:00
  发帖心情 Post By:2022/11/27 18:40:00 [只看该作者]

学习了

 回到顶部