以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  IsGroup  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159132)

--  作者:fvcfox
--  发布时间:2020/12/15 11:29:00
--  IsGroup
这个可以检测到是否为分组行,请问有无检测是否为“总计”行的?
--  作者:有点蓝
--  发布时间:2020/12/15 11:38:00
--  
如果是合计模式一样可以使用IsGroup  
--  作者:fvcfox
--  发布时间:2020/12/15 11:42:00
--  
    Tables("主窗口_table1").Filter="项目名称<>\'小计\' and 项目名称<>\'合计\' and 选中基本=1"
    Dim t As Table = Tables("主窗口_table1")
    
    Dim g As Subtotalgroup
    t.SubtotalGroups.Clear()
    
    \'定义客户分组
    g = New Subtotalgroup
    g.GroupOn = "父项目" \'分组列为客户列
    g.TotalOn = "基本支出年初预算,基本支出预算调整合计,基本支出调整后合计,基本支出转列支拨款合计,基本支出支出数合计" 
    t.SubtotalGroups.Add(g)
    
    g = New Subtotalgroup
    g.GroupOn = "*"
    g.TotalOn = "基本支出年初预算,基本支出预算调整合计,基本支出调整后合计,基本支出转列支拨款合计,基本支出支出数合计"
    t.SubtotalGroups.Add(g)
    t.Sort = "列号,父项目" \'指定排序字段
    t.Subtotal(True) \'生成汇总模式
    
    Dim r As Row
    For i As Integer =0 To t.Rows.Count(True)-1
        r=t.Rows(i,True)
        r("基本支出预算请拨率") =r("基本支出转列支拨款合计")/r("基本支出调整后合计")
        r("基本支出预算支出率") =r("基本支出支出数合计")/r("基本支出调整后合计")
        r("基本支出请拨支出率") =r("基本支出转列支拨款合计")/r("基本支出转列支拨款合计")
        
        If r.IsGroup
            r("基本支出预算请拨率") =r("基本支出转列支拨款合计")/r("基本支出调整后合计")
            r("基本支出预算支出率") =r("基本支出支出数合计")/r("基本支出调整后合计")
            r("基本支出请拨支出率") =r("基本支出转列支拨款合计")/r("基本支出转列支拨款合计")
        End If
    Next

这样小计的分组会计算,但总计行不会计算

--  作者:有点蓝
--  发布时间:2020/12/15 11:57:00
--  
我测试没有问题,请上传实例说明
--  作者:fvcfox
--  发布时间:2020/12/15 14:10:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20201215140535.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ysgl.zip


顺便看看的出错内容
[此贴子已经被作者于2020/12/15 14:12:09编辑过]

--  作者:有点蓝
--  发布时间:2020/12/15 14:14:00
--  
出错内容就是出现除以0的数学运算了,判断一下,比如

if r("基本支出调整后合计") = 0
r("基本支出预算请拨率") = 0
else
r("基本支出预算请拨率") =r("基本支出转列支拨款合计")/r("基本支出调整后合计")
endif

--  作者:fvcfox
--  发布时间:2020/12/15 14:54:00
--  
哦,好的,总计行没计算的原因是什么
--  作者:有点蓝
--  发布时间:2020/12/15 15:17:00
--  
5楼的项目连接不了数据库,无法查看,新建项目导出此表测试,然后上传