Foxtable(狐表)用户栏目专家坐堂 → 跨表统计自动更新问题


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

主题:跨表统计自动更新问题

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:5548 威望:0 精华:0 注册:2017/12/19 14:46:00
跨表统计自动更新问题  发帖心情 Post By:2018/4/18 11:35:00 [只看该作者]

合同台账
If e.DataCol.Name = "内部合同编号" Then 
    Dim Filter As String = "[内部合同编号] = '" & e.NewValue & "'"
    e.DataRow("入库金额合计") = DataTables("入库信息").Compute("Sum(当月入库金额)", Filter)
 End If

If e.DataCol.Name = "内部合同编号" Then 
    Dim Filter As String = "[内部合同编号] = '" & e.NewValue & "'"
    e.DataRow("销售合计") = DataTables("货款回笼信息").Compute("Sum(开piao金额)", Filter)
    e.DataRow("到款合计") = DataTables("货款回笼信息").Compute("Sum(到款金额)", Filter) 
End If

入库信息
Select Case e.DataCol.Name
    Case "当月入库金额"
        Dim pr As DataRow
        pr = DataTables("合同台帐").Find("内部合同编号 = '" & e.DataRow("内部合同编号") & "'")
        If pr IsNot Nothing Then
            DataTables("合同台帐").DataCols("内部合同编号").RaiseDataColChanged(pr)
        End If
End Select

货款回笼信息
Select Case e.DataCol.Name
    Case "到款金额","开piao金额"
        Dim pr As DataRow
        pr = DataTables("合同台帐").Find("内部合同编号 = '" & e.DataRow("内部合同编号") & "'")
        If pr IsNot Nothing Then
            DataTables("合同台账").DataCols("内部合同编号").RaiseDataColChanged(pr)
        End If
End Select

入库信息和货款回笼信息有更新后,进入合同台帐必须要重置内部合同编号列,其入库金额合计、销售合计和到款合计才能更新,怎样才能只需切换到合同台账表就能自动更新?

另外入库信息表没问题,但货款回笼信息表错误提示:不存在名为“合同台帐”的Date table!
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.9.1
错误所在事件:表,货款回笼信息,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。
是什么原因?





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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/18 11:42:00 [只看该作者]

1、【不存在名为“合同台帐”的Datatable】,说明你表名写错了,请确定你表格的名称是什么。

 

2、你可以去编写maintableChanged事件,类似 http://www.foxtable.com/webhelp/scr/1454.htm

 


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:5548 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/18 12:07:00 [只看该作者]

是“合同台帐”啊,入库信息里也一样,就没问题啊?


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:5548 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/18 12:09:00 [只看该作者]

If MainTable.Name = "合同台帐" Then
    DataTables("合同台帐").DataCols("内部合同编号").RaiseDataColChanged()
End If

把这段加到maintableChanged事件里了,还是不行!




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/18 12:10:00 [只看该作者]

以下是引用13775189031在2018/4/18 12:07:00的发言:
是“合同台帐”啊,入库信息里也一样,就没问题啊?

 

Select Case e.DataCol.Name
    Case "到款金额","开piao金额"
        Dim pr As DataRow
        pr = DataTables("合同台").Find("内部合同编号 = '" & e.DataRow("内部合同编号") & "'")
        If pr IsNot Nothing Then
            DataTables("合同台").DataCols("内部合同编号").RaiseDataColChanged(pr)
        End If
End Select

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:804 积分:5548 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2018/4/18 12:40:00 [只看该作者]

晕死!
谢谢啊!



 回到顶部