Foxtable(狐表)用户栏目专家坐堂 → 同步表


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

主题:同步表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/10 10:01:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/10 10:02:00 [显示全部帖子]

如果使用【同步表】方式,只能用定时器,没有其他方法。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/10 10:55:00 [显示全部帖子]

同步所有表代码,这样写

 

For Each dt As DataTable In DataTables
    dt.load
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 8:42:00 [显示全部帖子]

以下是引用q2520在2018/4/16 8:12:00的发言:
这样会出一个问题     每次同步   焦点单元格都会跳到第一行    严重影响使用

 

参考

 

For Each dt As Table In Tables
    Dim id As String = dt.current("_Identify")
    dt.DataTable.load
    Dim i As Integer = dt.FindRow("_Identify = '" & id & "'")
    If i >= 0 Then
        dt.Position = i
    End If
Next

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 8:59:00 [显示全部帖子]

For Each dt As Table In Tables
    If dt.DataTable.HasChanges Then
        Dim id As String = dt.current("_Identify")
        dt.DataTable.load
        Dim i As Integer = dt.FindRow("_Identify = '" & id & "'")
        If i >= 0 Then
            dt.Position = i
        End If
    End If
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 10:46:00 [显示全部帖子]

以下是引用lzw001在2018/4/16 9:13:00的发言:
如果数据是放在服务器的,这样子每修改一个数据,就自动刷新一次,会不会造成卡顿的现象的呢?

 

不是每修改一次,就执行一次。

 

你可以做一个同步按钮,需要的时候,就点击刷新。或者放在定时器那里,讲个1分钟或者5分钟同步一次。

 

如果要即时同步,就要用到openQQ了 http://www.foxtable.com/webhelp/scr/3006.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 11:37:00 [显示全部帖子]

以下是引用lzw001在2018/4/16 11:29:00的发言:
如果7楼和9楼的代码都放在计划管理的话,是不是没有什么区别了呢?

 

一般用7楼的代码,同步表数据,只能那样写的。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 11:48:00 [显示全部帖子]

For Each dt As Table In Tables
    If dt.current IsNot Nothing Then
        Dim id As String = dt.current("_Identify")
        If vars("正在编辑") = False Then
            dt.DataTable.Load()
        End If
        Dim i As Integer = dt.FindRow("_Identify = '" & id & "'")
        If i >= 0 Then
            dt.Position = i
        End If
    Else
        If vars("正在编辑") = False Then
            dt.DataTable.Load()
        End If
    end if
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/16 15:06:00 [显示全部帖子]

排除某一些表吧。

 

For Each dt As Table In Tables
    If dt.name <> "users" Then
        If dt.current IsNot Nothing Then
            Dim id As String = dt.current("_Identify")
            If vars("正在编辑") = False Then
                dt.DataTable.Load()
            End If
            Dim i As Integer = dt.FindRow("_Identify = '" & id & "'")
            If i >= 0 Then
                dt.Position = i
            End If
        Else
            If vars("正在编辑") = False Then
                dt.DataTable.Load()
            End If
        end if
    end if
Next

[此贴子已经被作者于2018/4/16 15:06:43编辑过]

 回到顶部