Foxtable(狐表)用户栏目专家坐堂 → sqlcrosstablebuilder报错。


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

主题:sqlcrosstablebuilder报错。

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


加好友 发短信
等级:幼狐 帖子:196 积分:2913 威望:0 精华:0 注册:2016/8/31 14:05:00
sqlcrosstablebuilder报错。  发帖心情 Post By:2018/7/6 18:54:00 [只看该作者]

老师您好,原先我用crosstablebuilder编了一个统计功能,运行正常,但是由于后台数据量较大,如果需要全部统计加载进来资源占用较大,于是想改成用sqlcrosstablebuilder进行后台统计。但是将crosstablebuilder转化为sqlcrosstablebuilder之后,程序报错,有两种类型错误。
一是提示,    统计错误,错误原因:标准表达式中数据类型不匹配。
二是提示,    无法找到列    口岸。



现在将两段代码贴出来,请老师指正。

1、原本可以正常使用的crosstablebuilder代码

Dim bd1 As New CrossTableBuilder("统计表1",DataTables("科室数据"))
Dim dt1 As fxDataSource
bd1.Filter = "[商品序号] = '1'"
bd1.HGroups.AddDef("单量口岸类型","口岸") 
bd1.HGroups.AddDef("结关年月")
bd1.VGroups.AddDef("进出口标志","报关单量_{0}") 
bd1.Totals.AddDef("报关单号",AggregateEnum.Count)
dt1 = bd1.BuildDataSource()


Dim bd2 As New CrossTableBuilder("统计表2",DataTables("科室数据"))
Dim dt2 As fxDataSource
bd2.HGroups.AddDef("货值口岸类型","口岸") 
bd2.HGroups.AddDef("结关年月") 
bd2.VGroups.AddDef("进出口标志","货值_{0}") 
bd2.Totals.AddDef("统计美元价")
dt2 = bd2.BuildDataSource()

Dim bd3 As New CrossTableBuilder("统计表3",DataTables("科室数据"))
Dim dt3 As fxDataSource
bd3.Filter = "[商品序号] = '1'"
bd3.HGroups.AddDef("货值口岸类型","口岸") 
bd3.HGroups.AddDef("结关年月")
bd3.VGroups.AddDef("进出口标志","毛重_{0}")
bd3.Totals.AddDef("毛重")
dt3 = bd3.BuildDataSource()

Dim nms As String() = {"口岸","结关年月"} '指定连接列
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
dt1.Combine(nms,dt3,nms) '将销售统计数据组合到进货统计数据
dt1.Show("统计表1") '显示统计结果



————————————————————————————


2、改造后的sqlcrosstablebuilder代码:

Dim bd1 As New SQLCrossTableBuilder("统计表1","科室数据")
Dim dt1 As fxDataSource
bd1.C
bd1.Filter = "[商品序号] = '1'"
bd1.HGroups.AddDef("单量口岸类型","口岸")
bd1.HGroups.AddDef("结关年月")
bd1.VGroups.AddDef("进出口标志","报关单量_{0}") 
bd1.Totals.AddDef("报关单号",AggregateEnum.Count)
dt1 = bd1.BuildDataSource()


Dim bd2 As New SQLCrossTableBuilder("统计表2","科室数据")
Dim dt2 As fxDataSource
bd2.C
bd2.HGroups.AddDef("货值口岸类型","口岸")
bd2.HGroups.AddDef("结关年月")
bd2.VGroups.AddDef("进出口标志")
bd2.Totals.AddDef("统计美元价")
dt2 = bd2.BuildDataSource()

Dim bd3 As New SQLCrossTableBuilder("统计表3","科室数据")
Dim dt3 As fxDataSource
bd3.C
bd3.Filter = "[商品序号] = '1'"
bd3.HGroups.AddDef("货值口岸类型","口岸") 
bd3.HGroups.AddDef("结关年月")
bd3.VGroups.AddDef("进出口标志","毛重_{0}") 
bd3.Totals.AddDef("毛重")
dt3 = bd3.BuildDataSource()

Dim nms As String() = {"口岸","结关年月"} '指定连接列
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
dt1.Combine(nms,dt3,nms) '将销售统计数据组合到进货统计数据
dt1.Show("统计表1") '显示统计结果
[此贴子已经被作者于2018/7/6 18:57:46编辑过]

 回到顶部