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


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

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

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
[求助]跨表代码实现计算  发帖心情 Post By:2020/3/6 0:22:00 [只看该作者]

代码实现跨表计算:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:希望完成计算.table




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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2020/3/6 11:09:00 [只看该作者]

老师好!有关跨表计算目前实在搞不定,老师帮我下。感谢!


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望: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

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2020/3/6 12:50:00 [只看该作者]

非常感谢老师!另:件数、货物重量、装车件数的值任意修改,装车重量随之计算,如何实现?目前我改动件数、货物重量,装车重量不计算,还是原来的重量。

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望: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

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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2020/3/6 17:54:00 [只看该作者]

谢谢老师!


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


加好友 发短信
等级:一尾狐 帖子:474 积分:2982 威望:0 精华:0 注册:2018/1/15 13:54:00
  发帖心情 Post By:2020/3/8 17:30:00 [只看该作者]

老师好!按帮助做了,没做好。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表计算重量及重置.table
父表的货物重量修改后,子表的装车重量只能自动更新第一行数据,将鼠标选在子表装车件数任一单元格,点重置按钮可以实现更新。想实现:父表货物重量列或件数列有改变,子表装车重量列全部自动重置?请老师老师帮忙实现。感谢!
          

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望: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


 回到顶部