以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 统计子表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176011) |
-- 作者:Dxm123456789 -- 发布时间:2022/3/27 13:27:00 -- 统计子表 表A有一列’总进度’,表B有一列‘进度’。 进度的项目为“待生产,生产中,已完成” 不用辅助列可以统计子表表B的进度吗? |
-- 作者:有点蓝 -- 发布时间:2022/3/27 20:42:00 -- 请举例说明,统计子表表B的什么进度 |
-- 作者:Dxm123456789 -- 发布时间:2022/3/29 14:14:00 -- ![]() ![]() |
-- 作者:有点蓝 -- 发布时间:2022/3/29 14:35:00 -- 这种需要使用代码处理,参考:http://www.foxtable.com/webhelp/topics/1453.htm 表B,datacolchanged事件 Select Case e.DataCol.Name Case "切","磨","钢" Dim Filter As String = "[生产单号] = \'" & e.DataRow("生产单号") & "\'" DataTables("表A").DataCols("总进度_" & e.DataCol.Name).RaiseDataColChanged(Filter) End Select 表A,datacolchanged事件 Select Case e.DataCol.Name Case "总进度_切","总进度_磨","总进度_钢" Dim Filter As String = e.DataCol.Name.split("_")(1) & " = \'待生产\'" Dim Filter2 As String = e.DataCol.Name.split("_")(1) & " = \'生产中\'" if DataTables("表B").compute("count(生产单号)",Filter) > 0 then e.DataRow(e.DataCol.Name)= "待生产" elseif DataTables("表B").compute("count(生产单号)",Filter2) > 0 then e.DataRow(e.DataCol.Name)= "生产中" else e.DataRow(e.DataCol.Name)= "已完成" end if End Select |
-- 作者:Dxm123456789 -- 发布时间:2022/3/29 14:54:00 -- 谢谢老师!我懂了! |