以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  统计子表的表达列为何在子表未加载数据时无统计数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102460)

--  作者:wangj6666
--  发布时间:2017/6/20 11:52:00
--  统计子表的表达列为何在子表未加载数据时无统计数据?

各位专家:您们好!

        由于子表数据太多,我将子表设置为只加载2天的数据,但这样设计后,母表中原来使用表达式统计子表的数据也无法显示了,请问有什么方法解决吗?谢谢!


--  作者:有点色
--  发布时间:2017/6/20 12:10:00
--  

 嗯嗯,不要用表达式,改成用代码统计子表数据

 

http://www.foxtable.com/webhelp/scr/1472.htm

 


--  作者:wangj6666
--  发布时间:2017/6/24 11:07:00
--  
谢谢专家回复,如果我除了产品列符相同还需要增加1个日期列相同时,再统计子表数据,如何更改代码?谢谢!
--  作者:有点蓝
--  发布时间:2017/6/24 11:20:00
--  
pr = DataTables("统计").Find("产品 = \'" & e.DataRow("产品") & "\' and 日期 = #" & e.DataRow("日期") & "#")
--  作者:wangj6666
--  发布时间:2017/6/24 13:11:00
--  

收到,我编入如下代码后提示“编译错误:未声明名称“报料日期””,还有哪里有问题?谢谢!

pr = DataTables("材料计算与打印").Find("报料阶段 = \'" & e.DataRow("报料阶段") & "\' and 鼓号 = \'" & e.DataRow("鼓号") & "\'"and 报料日期 = #" & e.DataRow("报料日期") & "#")


--  作者:wangj6666
--  发布时间:2017/6/24 13:23:00
--  
找到了,在第二个AND前多了个双引号,是吗?
--  作者:wangj6666
--  发布时间:2017/6/24 13:31:00
--  

还是有点问题:代码倒时没有提示错误了,可在材料计算与打印中输入数据时,提示

“.NET Framework 版本:2.0.50727.8784
Foxtable 版本:2017.4.22.1
错误所在事件:表,材料计算与打印,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“材料金额”为只读。”

不知又是怎么回事,请专家指点解决!谢谢!


--  作者:有点蓝
--  发布时间:2017/6/24 14:38:00
--  
错误所在事件:表,材料计算与打印,DataColChanged --- 贴出完整代码看看
--  作者:wangj6666
--  发布时间:2017/6/24 16:10:00
--  
If e.DataCol.Name = "报料阶段" OrElse e.DataCol.Name = "鼓号" OrElse e.DataCol.Name = "报料日期" Then
    Dim pr As DataRow
    pr = DataTables("材料计算与打印").Find("报料阶段 = \'" & e.DataRow("报料阶段") & "\' and 鼓号 = \'" & e.DataRow("鼓号") & "\'and 报料日期 = #" & e.DataRow("报料日期") & "#")
    If pr IsNot Nothing Then
        pr("材料金额")= pr("材料金额") + e.NewValue - e.OldValue
    End If
End If
--  作者:有点蓝
--  发布时间:2017/6/24 16:51:00
--  
材料金额是表达式列来的吧,改为数据列http://www.foxtable.com/webhelp/scr/2494.htm