以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不解是何原因报错? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49739) |
-- 作者:hdffzxf -- 发布时间:2014/4/23 14:31:00 -- 不解是何原因报错? \'\'\' Dim f As String \'\'筛选条件 \'\'筛选在合并范围内单户审计项目的行次 Dim g As New SQLCrossTableBuilder(表名, 被统计表名) g.C g.OrderByTotal = True g.VGroups.AddDef("{审计项目信息}.被审计单位名称") g.HorizontalTotal = 是否水平汇总 g.Build \'\'经测试排查,应是在此处报错 For Each c As DataCol In DataTables(表名).dataCols 有时,在调用这个自定义函数时,出现报错,报错的内容如上图,其中:资产负债合并过程表是生成的交叉统计表,期末余额1是统计列,期末余额1_3列,也应是生成的交叉统计表的某一统计列,按道理会根据垂直分组列的情况自动生成期末余额1_3列,怎么会报错呢?百思不得其解,请专家指教!
[此贴子已经被作者于2014-4-23 15:37:58编辑过]
|
-- 作者:Bin -- 发布时间:2014/4/23 14:32:00 -- 看不到图,报什么错? 有例子更好. 上传图片和文件参考这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
请尽量使用IE,谷歌,火狐等主流浏览器上传. 使用谷歌浏览器必须要先输入一个以上的字符 上传后需要等文件代码出现才算成功! |
-- 作者:hdffzxf -- 发布时间:2014/4/23 14:35:00 -- 刚上传图成功 |
-- 作者:hdffzxf -- 发布时间:2014/4/23 14:46:00 -- 因为是要根据提供的条件反复的生成统计表,我想问的是:在什么情况下会按垂直分组自动生成的统计列会生成失败而报错,我好排查我的代码逻辑上是否有问题,现在是反复排查也找不到问题的根源。 |
-- 作者:有点甜 -- 发布时间:2014/4/23 14:46:00 -- 以下是引用hdffzxf在2014-4-23 14:35:00的发言:
刚上传图成功
你的那一列是不是表达式列?如果是表达式,需要特殊处理一下的,要这样添加。
Dim b As New SQLCrossTableBuilder("统计表1","订单") b.HGroups.AddExp("金额", "单价 * 数量") [此贴子已经被作者于2014-4-23 14:49:07编辑过]
|
-- 作者:Bin -- 发布时间:2014/4/23 14:47:00 -- 例子发上来看看吧,应该是你引用了不存在的列. |
-- 作者:hdffzxf -- 发布时间:2014/4/23 15:02:00 -- 没有表达式列 |
-- 作者:hdffzxf -- 发布时间:2014/4/23 15:05:00 -- 如果引用了不存在的列,比如这个“期末余额1”不存在,那也该是提示期末余额1_1出错呀,而且这个列是绝对正常存在的列。另外,因为我这个程序涉及的表相当庞大,而且建立在互联网服务器上,程序的逻辑也相对复杂了一些,可能不便将例子传上来 |
-- 作者:有点甜 -- 发布时间:2014/4/23 15:06:00 -- 以下是引用hdffzxf在2014-4-23 15:02:00的发言:
没有表达式列
根据提示,就是说没有这一列,你确定那个表里有这一列,而且不是表达式列吗? |
-- 作者:hdffzxf -- 发布时间:2014/4/23 15:15:00 -- 我只要能搞清楚何种情况下,会提示统计列生成失败,就有办法逆向找到出错的根源,现在是排查了一个晚上,只在某一个事件调用自定义函数时报错,其他事件调用又不报错,来回测试了调试了一天,如终未能找到原因究竟是什么,调试中我在程序中加入了判断各列是否存在的句子,证明引用的各列存在,但到最后一步生成统计表时:g.Build ,此处就会出错,郁闷中。。。 |