以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口表数据自动更新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139171) |
-- 作者:ideaplayer -- 发布时间:2019/8/7 11:50:00 -- 窗口表数据自动更新问题 现在发现一个问题: 窗口中引用有关联表《项目●订单执行》,其中关联表《项目●订单执行》的“回款总金额”和“成本已付金额”列为跨表引用数据。 但是,在初次打开项目时,再打开窗口后,引用的关联表A*B的X列数据未能自动引用更新,发现必须直接点击一次主表《订单执行》后,再回去看窗口中的“回款总金额”和“成本已付金额”列,这时数据才会正常引用的。 主表《订单执行》的Datecolchanged代码如下: \'Select Case e.DataCol.Name If e.DataCol.Name = "项目编号" Then \'发生变化的是产品列. \'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列 e.DataRow("回款总金额") = DataTables("客户回款").Compute("Sum(回款金额)","[项目编号] = \'" & e.NewValue & "\'") End If \'客户回款::判断是否欠款,然后标记回款状态 If e.DataRow.IsNull("欠款总金额") Then e.DataRow("客户回款状态") = "未结清货款" Else If e.DataRow("欠款总金额") = 0 Then e.DataRow("客户回款状态") = "已全部回款" Else e.DataRow("客户回款状态") = "未结清货款" End If End If \'以上为计算标记客户销售货款结清状态程序 \'---------------------------------- If e.DataCol.Name = "项目编号" Then \'发生变化的是产品列. \'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列 e.DataRow("成本已付金额") = DataTables("供应商结算").Compute("Sum(付款金额)","[项目编号] = \'" & e.NewValue & "\'") End If \'客户回款::判断是否欠款,然后标记回款状态 If e.DataRow.IsNull("成本欠款金额") Then e.DataRow("供应商结算状态") = "未结算完成" Else If e.DataRow("成本欠款金额") = 0 Then e.DataRow("供应商结算状态") = "已结算完成" Else e.DataRow("供应商结算状态") = "未结算完成" End If End If \'以上为计算标记客户销售货款结清状态程序 请问想实现首次打开项目时,直接打开窗口后,如何实现窗口内数据的实时更新? 谢谢 |
-- 作者:有点蓝 -- 发布时间:2019/8/7 12:05:00 -- 窗口afterload事件 DataTables("订单执行").DataCols("项目编号").RaiseDataColChanged |