以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 父表统计子表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145780) |
-- 作者:keli0917 -- 发布时间:2020/2/7 9:50:00 -- 父表统计子表 1。采购信息是父表,收票登记是子表。 先增加父表行,保存后,在另外窗口增加子表行。要实现子表数据录入后父表自动更新
\'根据收票登记统计不含税金额等列
Select Case e.DataCol.Name
上面代码无法统计,不知道哪里有问题。
2.发票退税额为子表的表达式列。IsNull(Sum(Child(采购收票).发票退税额),0),这样好象有问题,提示算术运算溢出。要怎么修改。
|
-- 作者:有点蓝 -- 发布时间:2020/2/7 10:32:00 -- 如果数据没有全部加载需要使用sqlCompute统计的,新增的数据必须先保存 Select Case e.DataCol.Name Case "发票不含税金额","发票进项税额" ,"发票征税率","发票退税率" Dim pr As DataRow Dim filter As String filter = "工作号 = \'" & e.DataRow("工作号") & "\' And 报关单项号 = \'" & e.DataRow("报关单项号") & "\' And 工厂编号= \'" & e.DataRow("客户ID") & "\'" pr = DataTables("采购信息").sqlFind(Filter) If pr IsNot Nothing Then e.DataRow.save
DataTables("采购信息").DataCols("工作号").RaiseDataColChanged(pr) DataTables("采购信息").DataCols("报关单项号").RaiseDataColChanged(pr) DataTables("采购信息").DataCols("工厂编号").RaiseDataColChanged(pr) End If End Select |
-- 作者:keli0917 -- 发布时间:2020/2/7 14:47:00 -- 加了e.DataRow.save也不行呀。我已经用了SQLcompute了e.DataRow("发票不含税金额小计") = DataTables("收票登记").sqlCompute("Sum(发票不含税金额)",Filter) 在收票登记表里能看到新增的数据行的。父表采购信息的对应字段就是不会更新。 改成e.DataRow("发票不含税金额小计") = val(DataTables("收票登记").sqlCompute("Sum(发票不含税金额)",Filter))也不行。
另外请回答第二个问题。
|
-- 作者:有点蓝 -- 发布时间:2020/2/7 15:57:00 -- 说明还有其它行数据没有保存,改为整表保存:e.datatable.save 问题2,请把这个表达式列列类型改为高精度
|