Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:跨表引用是空值时显示0

1楼
g1j2h3 发表于:2024/12/19 20:35:00
请教大师,看代码错在哪里
接单明细datacolchanged中
If e.DataCol.Name = "产品名称" Then 
    e.DataRow("发货数量") = DataTables("发货明细").Compute("isnull(sum(发货数量),0)", "接单单号= '" & e.DataRow("接单单号") & "' And 产品名称='" & e.DataRow("产品名称") & "' and 规格型号='" & e.DataRow("规格型号") & "'")
End If
发货明细datacolchanged中
If e.DataCol.Name = "发货数量" Then
    Dim pr As DataRow
    pr = DataTables("接单明细").Find( "接单单号= '" & e.DataRow("接单单号") & "' And 产品名称='" & e.DataRow("产品名称") & "' and 规格型号='" & e.DataRow("规格型号") & "'")
    If pr IsNot Nothing Then
        DataTables("接单明细").DataCols("产品名称").RaiseDataColChanged(pr)
    End If
End If



出现错误提示

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2024.11.1.1
错误所在事件:表,接单明细, DataColChanged
详细错误信息:
调用的目标发生了异常。
无法计算。表达式“System.Data.FunctionNode”不是聚合。
[此贴子已经被作者于2024/12/19 20:36:12编辑过]
2楼
有点蓝 发表于:2024/12/19 20:51:00
这里不需要判断是否为空

   e.DataRow("发货数量") = DataTables("发货明细").Compute("sum(发货数量)", "接单单号= '" & e.DataRow("接单单号") & "' And 产品名称='" & e.DataRow("产品名称") & "' and 规格型号='" & e.DataRow("规格型号") & "'")
3楼
g1j2h3 发表于:2024/12/19 21:02:00
但我想让发货数量是空值时显示0,要参与计算,该怎么写啊
[此贴子已经被作者于2024/12/19 21:03:13编辑过]
4楼
有点蓝 发表于:2024/12/19 21:06:00
If e.DataCol.Name = "产品名称" Then 
    dim a as double = DataTables("发货明细").Compute("sum(发货数量)", "接单单号= '" & e.DataRow("接单单号") & "' And 产品名称='" & e.DataRow("产品名称") & "' and 规格型号='" & e.DataRow("规格型号") & "'")
e.DataRow("发货数量") = a
End If
共4 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.