Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLGroupTableBuilder提示输出别名错误


  共有2258人关注过本帖树形打印复制链接

主题:[求助]SQLGroupTableBuilder提示输出别名错误

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


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]SQLGroupTableBuilder提示输出别名错误  发帖心情 Post By:2016/1/5 22:29:00 [只看该作者]

内部表A和B。
新建一个窗口,放一个button,一个Normal型的表,不绑定任何表。
button事件如下:

Dim tbl As Table = e.Form.Controls("Table1").Table

Dim g As New SQLGroupTableBuilder("KK", "A")
g.AddTable("A","BID","B","ID")
g.Groups.AddDef("Mon")
g.Groups.AddDef("BC")
g.Totals.AddExp("X","WC - WL")
g.Totals.AddExp("Y","EC - EL ")
g.Build()        ‘-----------注意到如果不加这一句,就没有问题

tbl.DataSource  = g.BuildDataSource()

运行的结果报出错误如下:
统计错误,错误原因:
输出别名“X”重复。

如果把这一句注释掉就没有问题。
g.Build()        ‘-----------注意到如果不加这一句,就没有问题

这是为什么呢?因为我想用KK表来定制模板输出报表。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/5 22:39:00 [只看该作者]

不要重复build,重复肯定会报错。

 

你可以这样写

 

tbl.DataSource  = DataTables("KK")

 

或者去掉 g.Build(),你可以用副本表来定制模板嘛,和直接用KK是一样的意思。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/5 23:05:00 [只看该作者]

本来是想如此,但我试之后,发现在窗口表加载事件中的字体设置就失效了。比如用了dim fnt as new font(currenttable.font.name,12,tbl.font.style) tbl.font =fnt,里示出来的还是9号字

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/5 23:15:00 [只看该作者]

这样写,绝对有效

 

tbl.DataSource  = DataTables("KK")

dim fnt as new font(tbl.font.name,12,tbl.font.style)

tbl.font =fnt


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/7 17:09:00 [只看该作者]

Dim tbl As Table = e.Form.Controls("Table1").Table

Dim jb As new SQLJoinTableBuilder("cs","A")
jb.ConnectionName 等于 "连接名" '---如果用=,显示出来就是ab.c了,代替一下
jb.AddTable("A","BID","B","ID")
jb.AddCols("AA", "AB","AC","{B}.ID")
jb.AddExp("SaveA","表达式一")
jb.AddExp("SaveB","表达式二")

Dim g As new GroupTableBuilder("TempABC",jb.BuildSQL)
jb.ConnectionName 等于 "连接名"
g.Groups.AddDef("AA")
g.Groups.AddDef("AB")
g.Totals.AddDef("SaveA")
g.Totals.AddDef("SaveB")
g.Build() '生成统计表

'tbl.DataSource = g.BuildDataSource()    '--如果用这一行,窗口表显示的就是12的字体
tbl.DataSource = DataTables("TempABC")  ‘--如果有管一行,窗口显示的还是9的字体
Dim fnt As New Font(tbl.Font.Name, 12, tbl.Font.Style)
tbl.Font = fnt


另外,袍兄说
或者去掉 g.Build(),你可以用副本表来定制模板嘛,和直接用KK是一样的意思
这个用副本表来定制模板,要咋个整法?

这么神奇?
[此贴子已经被作者于2016/1/7 17:14:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 17:11:00 [只看该作者]

不,可,能,上传例子。

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/7 17:19:00 [只看该作者]

哈哈,晚上回去整个你看

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/7 20:45:00 [只看该作者]

袍兄,窗口中把12号字的按钮多点两次,表中的字就成9号了。右边是不设字体的表

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2204 积分:18140 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2016/1/7 21:09:00 [只看该作者]

袍兄,这是附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目9.zip


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/7 21:34:00 [只看该作者]

Dim fnt As New Font(tbl.Font.Name, 12, tbl.Font.Style)
Tables("KKK").Font = fnt
tbl.DataSource = DataTables("KKK")
tbl.Font = fnt

 回到顶部