Foxtable(狐表)用户栏目专家坐堂 → [求助]子表同步加载能否多线程加载


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

主题:[求助]子表同步加载能否多线程加载

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]子表同步加载能否多线程加载  发帖心情 Post By:2023/3/29 10:57:00 [只看该作者]

老师,我的主表“工程合同基础数据”事件AfterLoad中有如下代码,用于在主表只加载一条记录时,同时加载关联子表数据。因为有的记录子表记录多较多,运行时间太长,还会假死机,请问在事件中可不可以多线程(客户端)?代码应该怎么写?  图片点击可在新窗口打开查看
谢谢老师指导!

Tables("工程合同基础数据").Sort = "财务编号"
If Forms("单项合同各项数据查询").Opened Then
    Dim btn As WinForm.Button = Forms("单项合同各项数据查询").Controls("刷新概况")
    btn.PerformClick()
ElseIf Forms("项目清算").Opened Then
    zhtbjzgl = True
Else
    Dim t As Table = Tables("工程合同基础数据")
    Dim n As Integer = t.Rows.count
    If n = 1 Then
        zhtbjzgl = False '加载主合同时不加载所有关联表(主要用于项目清算窗口打开时选择项目合同编号)
    Else
        zhtbjzgl = True
    End If
End If
e.DataTable.LoadChildren("支出合同研发成本")
e.DataTable.LoadChildren("资金调整")
If zhtbjzgl = False Then
    e.DataTable.LoadChildren("增值税fa piao开piao登记")
    e.DataTable.LoadChildren("补充合同或决算数据")
    e.DataTable.LoadChildren("应收款收入数据")
    e.DataTable.LoadChildren("其他成本费用")
    e.DataTable.LoadChildren("工资表")
    e.DataTable.LoadChildren("总部申报")
    If DataTables.Contains("固定资产明细") = True
        e.DataTable.LoadChildren("固定资产明细")
    End If
    e.DataTable.LoadChildren("收入合同移交记录")
    e.DataTable.LoadChildren("项目借款数据")
    e.DataTable.LoadChildren("项目资金管理")
End If

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/29 11:16:00 [只看该作者]

没有办法使用多线程,考虑使用模拟关联和分页加载

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


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2023/3/29 13:44:00 [只看该作者]

老师,没有其他办法了吗?现在最长的一条记录需要17秒。

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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/29 13:47:00 [只看该作者]

没有其它办法

 回到顶部