Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表代码实现计算


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

主题:[求助]跨表代码实现计算

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/6 11:15:00 [显示全部帖子]

承运人表datacolchanged

Select Case e.DataCol.Name
    Case  "装车件数"
        If e.DataRow.IsNull("装车件数")  Then
            e.DataRow("装车重量") = Nothing
        Else
            Dim dr As DataRow  = DataTables("接单明细表").find("内部编号='" & e.DataRow("内部编号")  & "'")
            If dr Is Nothing OrElse dr("件数") = 0 Then
                e.DataRow("装车重量") = Nothing
            Else
                e.DataRow("装车重量") = dr("货物重量") / dr("件数") * e.DataRow("装车件数")
            End  If
        End  If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/6 15:30:00 [显示全部帖子]

参考:http://www.foxtable.com/webhelp/topics/1472.htm,到父表写代码,类似这种用法

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

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/8 22:54:00 [显示全部帖子]

帮助只是针对一行记录的,子表有多行数据,改为这样

Select Case e.DataCol.Name
    Case "装车件数","货物重量"
        DataTables("承运人明细表").DataCols("装车件数").RaiseDataColChanged("内部编号 = '" & e.DataRow("内部编号") & "'")
End Select


 回到顶部