Foxtable(狐表)用户栏目专家坐堂 → 不解是何原因报错?


  共有3523人关注过本帖平板打印复制链接

主题:不解是何原因报错?

帅哥哟,离线,有人找我吗?
hdffzxf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:393 积分:3723 威望:0 精华:0 注册:2013/10/9 23:09:00
不解是何原因报错?  发帖心情 Post By:2014/4/23 14:31:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140423143345.jpg
图片点击可在新窗口打开查看
写了一个生成交叉统计表的自定义函数:生成统计表,代码如下:

'''
Dim bmlr As Row =Tables("表目录").Current
Dim xmr As Row=Tables("审计项目信息").Current
Dim 被统计表名 As String=bmlr("被统计表名")
Dim 表名 As String=bmlr("表名")
Dim 水平分组列集合() As String=bmlr("水平分组列").Split(",")
Dim 垂直分组列集合() As String=bmlr("垂直分组列").Split(",")
Dim 统计列集合() As String= bmlr("统计列").Split(",")
Dim 是否垂直汇总 As Boolean=bmlr("是否垂直汇总")
Dim 是否水平汇总 As Boolean=bmlr("是否水平汇总")
Dim 合并范围集合() As String= xmr("合并范围").Split(",")
Dim 合并单位名称 As String

Dim f As String ''筛选条件
If DataTables.Contains(被统计表名)=False Then '如果表不存在
    DataTables.Load(被统计表名)
End If
Dim dt As DataTable=DataTables(被统计表名)

''筛选在合并范围内单户审计项目的行次
For Each 项目编号 As String In 合并范围集合
    f=f & "{" & 被统计表名 & "}." & "审计项目编号='" & 项目编号 & "' or "
Next
f=f.substring(0,f.Length-4)

Dim g As New SQLCrossTableBuilder(表名, 被统计表名)

g.C

g.OrderByTotal = True
g.AddTable(被统计表名,"审计项目编号","审计项目信息","审计项目编号")
g.Filter=f
For Each 水平分组列 As String In 水平分组列集合
    g.HGroups.AddDef(水平分组列,水平分组列,Tables(被统计表名).Cols(水平分组列).Caption)
Next

g.VGroups.AddDef("{审计项目信息}.被审计单位名称")
For Each 统计列 As String In 统计列集合
    g.Totals.AddDef(统计列)
Next

g.HorizontalTotal = 是否水平汇总
g.VerticalTotal = 是否垂直汇总
''水平份额,垂直比例设置
''g.HorizontalProportion =
''g.VerticalProportion = 是否垂直汇总
g.Filter=f

g.Build        ''经测试排查,应是在此处报错

For Each c As DataCol In DataTables(表名).dataCols
    If c.Name.Contains("合计") Or c.Caption.Contains ("合计")  Then
        c.caption=c.caption.Replace("合计_","") & "_合计"
    End If
Next

 
 
 
 
 
图片点击可在新窗口打开查看
有时,在调用这个自定义函数时,出现报错,报错的内容如上图,其中:资产负债合并过程表是生成的交叉统计表,期末余额1是统计列,期末余额1_3列,也应是生成的交叉统计表的某一统计列,按道理会根据垂直分组列的情况自动生成期末余额1_3列,怎么会报错呢?百思不得其解,请专家指教!
 
[此贴子已经被作者于2014-4-23 15:37:58编辑过]

 回到顶部
总数 18 1 2 下一页