以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分类汇总自定义合计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169630)

--  作者:hopestarxia
--  发布时间:2021/6/23 18:18:00
--  分类汇总自定义合计
老师,我想使用以语句实现窗口Table1插件下方加入汇总行,并在汇总行的的含税价的列实现数据等于明细行的 数量 * 含税价  (因特殊原因明细行不要金额列,合计行要在含税价下得出金额汇总),
按理解写的代码如下,请问为什么得不出数据。
Dim t1 As Table = e.form.Controls("Table1").Table
Dim Val1 As String = t1.Compute("Sum(round(isnull(数量,0) * isnull(含税价,0),2))" )

Dim t As Table = Tables("出库查看_Table1")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()

g = New Subtotalgroup
g.GroupOn = "*"
t.SubtotalGroups.Add(g) 
t.Subtotal() 

Dim r As Row
For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup Then
        r("含税价) = Val1
    End If
Next

--  作者:hopestarxia
--  发布时间:2021/6/23 21:21:00
--  
老师,受累看看我的问题!
--  作者:有点蓝
--  发布时间:2021/6/24 8:49:00
--  
access还是SqlServer?

Dim Val1 As String = t1.sqlCompute("Sum(round(isnull(数量,0) * isnull(含税价,0),2))" )

--  作者:hopestarxia
--  发布时间:2021/6/27 17:15:00
--  
老师,SQL数据库的,不知道怎么代码就是不管用,如果只是 =  t1.Compute("Sum(数量)“) 这样就管用,后面我实在是怎么测试写都不行(只要有加减乘除,不是单独的就不行),就在数据库表中加了几个表达式进去,然后那里取表达式的结果解决的。但是不知道为什么那样的代码不行,按理说应该代码上没什么问题的看着。
--  作者:有点蓝
--  发布时间:2021/6/27 22:38:00
--  
导出这个表部分数据测试

Dim Val1 As String = t1.datatable.sqlCompute("Sum(round(isnull(数量,0) * isnull(含税价,0),2))" )

如果是临时表,就不能这样用了,具体请上传实例,看有没有其它方法

这个代码我测试没有问题

Dim Val1 As String = DataTables("订单").sqlCompute("Sum(round(isnull(数量,0) * isnull(单价,0),2))" )
Output.Show(Val1 )
[此贴子已经被作者于2021/6/27 22:38:52编辑过]

--  作者:hopestarxia
--  发布时间:2021/6/28 17:20:00
--  
谢谢老师!