以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于自动统计子表数据的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151134)

--  作者:kisslier
--  发布时间:2020/6/16 9:06:00
--  关于自动统计子表数据的问题

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
向大佬们请教一个问题,关于双条件统计子表数据的问题,我有一个表格是关于食堂账务的,我想统计当天某个菜的食材采购金额,目前只能实现根据某个菜的进行一个条件的数据统计,
在FT QQ群里问了有大佬教了e.DataRow("菜谱_大伙1_成本") = DataTables("工作餐管理_采购流水").Compute("Sum(金额)","[菜名] = \'" & e.NewValue & "\' and 其他条件")
我按照大佬的方法去增加了代码
If e.DataCol.Name = "菜谱_大伙1_菜名" and  "日期" Then 
    e.DataRow("菜谱_大伙1_成本") = DataTables("工作餐管理_采购流水").Compute("Sum(金额)","[菜名] = \'" & e.DataRow("菜谱_大伙1_菜名") & "\'" And "[日期] = \'" & e.DataRow("日期") & "\'")
End If

但是重置数据的时候发现是重置日期呢还是重置菜名呢,两个试了都没用,想了好长时间,查了资料也不得解,特向权威人士求助!

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/6/16 9:13:00
--  
If e.DataCol.Name = "菜谱_大伙1_菜名" orelse e.DataCol.Name = "日期" Then 
    e.DataRow("菜谱_大伙1_成本") = DataTables("工作餐管理_采购流水").Compute("Sum(金额)","[菜名] = \'" & e.DataRow("菜谱_大伙1_菜名") & "\' And [日期] = #" & e.DataRow("日期") & "#")
End If

随便重置其中一个列即可

--  作者:kisslier
--  发布时间:2020/6/16 9:48:00
--  
感谢老点蓝大神的指导!