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


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

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

帅哥哟,离线,有人找我吗?
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

 

按上面这样写可以吗?


 回到顶部
帅哥哟,离线,有人找我吗?
whynotwxg
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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

感谢您!

 回到顶部