以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表如何刷新?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157962)

--  作者:ycwk
--  发布时间:2020/11/3 17:42:00
--  关联表如何刷新?
界面上有一个关联表和 两个主表, 这两个主表通过关联表的2个字段,各自关联。     现在要求刷新时,将3个表都刷新,在界面上可以用刷新按钮刷新其中一个主表,再通过下面的代表可以刷新关联表,但不能刷新另一个主表,请问要咋办?
    If  CurrentTable.Name="医疗业务指标管理表" Then

        Dim r As Row = Tables("医疗业务指标管理表").Current
        Dim fl As String = "指标名称 = \'"  & r("指标名称") & "\'"
        r.Load() \'加载父行
        LockBaseMainForm() \'锁定主窗口
        DataTables("医疗业务报表指标关联表").StopRedraw \'停止绘制订单明细
        DataTables("医疗业务报表指标关联表").RemoveFor(fl) \'移除当前订单的订单明细
        DataTables("医疗业务报表指标关联表").Appendload(fl) \'追载当前订单的订单明细
        DataTables("医疗业务报表指标关联表").ResumeRedraw \'恢复绘制订单明细
        UnLockBaseMainForm() \'解锁主窗口
   end if 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2020/11/3 20:18:00
--  
        LockBaseMainForm() \'锁定主窗口
        DataTables("医疗业务报表指标关联表").StopRedraw \'停止绘制订单明细
        DataTables("医疗业务报表指标关联表").RemoveFor(fl) \'移除当前订单的订单明细
        DataTables("医疗业务报表指标关联表").Appendload(fl) \'追载当前订单的订单明细
        DataTables("医疗业务报表指标关联表").ResumeRedraw \'恢复绘制订单明细
Dim str As String = DataTables("医疗业务报表指标关联表").GetComboListString("报表名称",fl)
fl = “报表名称 in (\'" & str.replace("|","\',\'") & "\')”
        DataTables("医疗业务报表管理表").RemoveFor(fl) \'移除当前订单的订单明细
        DataTables("医疗业务报表管理表").Appendload(fl) \'追载当前订单的订单明细
        UnLockBaseMainForm() \'解锁主窗口
   end if 

--  作者:ycwk
--  发布时间:2020/11/4 10:24:00
--  
刷新改码改成下面这样了,但是刷新时,左下角的表的内容会消失,要点一下右下角的关联表才会再出来

        Dim r As Row = Tables("医疗业务指标管理表").Current
        Dim fl As String = "指标名称 = \'"  & r("指标名称") & "\'"
        r.Load() \'加载父行
        LockBaseMainForm() \'锁定主窗口
        DataTables("医疗业务报表指标关联表").StopRedraw \'停止绘制关联表明细
        DataTables("医疗业务报表指标关联表").RemoveFor(fl) \'移除当前关联表的明细
        DataTables("医疗业务报表指标关联表").Appendload(fl) \'追载当前关联表的订单明细
        DataTables("医疗业务报表指标关联表").ResumeRedraw \'恢复绘制关联表明细
        \'UnLockBaseMainForm() \'解锁主窗口


        \'刷新医疗业务报表管理表
        Dim str As String = DataTables("医疗业务报表指标关联表").GetComboListString("报表名称",fl)
        fl = "报表_名称 In (\'" & str.replace("|","\',\'") & "\')"
        DataTables("医疗业务报表管理表").RemoveFor(fl) \'移除当前报表管理表的明细
        DataTables("医疗业务报表管理表").Appendload(fl) \'追载当前报表管理表的明细

        UnLockBaseMainForm() \'解锁主窗口
[此贴子已经被作者于2020/11/4 10:24:37编辑过]

--  作者:有点蓝
--  发布时间:2020/11/4 11:10:00
--  
试试最后加上

Tables("医疗业务报表指标关联表").Position = -1
Tables("医疗业务报表指标关联表").Position = 0