Foxtable(狐表)用户栏目专家坐堂 → 多字段跨表计算


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

主题:多字段跨表计算

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
多字段跨表计算  发帖心情 Post By:2017/10/29 17:59:00 [只看该作者]

包材合同,合同明细表两个
实现合同中列的总额等于明细表金额的sum,有两个关联列,申请编号,包材合同编号
现在存在问题是,只按申请编号分组求和,没有按申请编号+包材合同编号进行分组求和,请问要怎么写,现在代码如下,
包材合同
Select Case e.DataCol.Name
        Case  "申请编号","包材合同编号"
        Dim Filter3 As String  = "申请编号 = " & e.DataRow("申请编号")'' )
        e.DataRow("总额") = DataTables("合同_包材申请明细表").Compute("Sum(金额)", Filter3)
End Select

合同明细表
Select Case e.DataCol.Name
    Case "采购数量","单价"
        If e.OldValue <> e.NewValue Then
            Dim pr As DataRow
            pr = DataTables("合同_包材合同").Find("[申请编号] = " & e.DataRow("申请编号") 
            If pr IsNot Nothing Then
                DataTables("合同_包材合同").DataCols("申请编号").RaiseDataColChanged(pr)
            End If
        End If
End Select
[此贴子已经被作者于2017/10/29 18:03:12编辑过]

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


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

比如

 

Select Case e.DataCol.Name
        Case  "申请编号","包材合同编号"
        Dim Filter3 As String  = "申请编号 = '" & e.DataRow("申请编号") & "' and 包材合同编号 = '" & e.DataRow("包材合同编号") & "'"
        e.DataRow("总额") = DataTables("合同_包材申请明细表").Compute("Sum(金额)", Filter3)
End Select

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2017/10/29 23:18:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.8.19.1
错误所在事件:表,合同_合同明细表,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“[申请编号] = 34”到类型“Long”的转换无效。
输入字符串的格式不正确。


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


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

贴出你写的代码。

 回到顶部