Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLGroupTableBuilder不知道哪里出的问题?


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

主题:[求助]SQLGroupTableBuilder不知道哪里出的问题?

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]SQLGroupTableBuilder不知道哪里出的问题?  发帖心情 Post By:2013/5/14 9:34:00 [显示全部帖子]

Dim g As New SQLGroupTableBuilder("分组统计表","库存总表")
        g.C
Dim Cols1() As String = {"品名","规格","材质","零件号"}
Dim Cols2() As String = {"品名","规格","材质","零件号"}
Dim Cols3() As String = {"品名","规格","材质","零件号"}
g.AddTable("库存总表",Cols1,"入库表",Cols2,"出库表",Cols3)
        'Dim y As Integer = e.Form.Controls("ComboBox1").text '指定年份
        'Dim m As Integer = e.Form.Controls("ComboBox2").text '指定月份
        'Dim dt1 As New Date(y, m, 1)
        'Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
        g.Groups.AddDef("库存类别")
        g.Groups.AddDef("品名")
        g.Groups.AddDef("规格")
        g.Groups.AddDef("材质")
        g.Groups.AddDef("零件号")
        g.Groups.AddDef("国标")
        g.Groups.AddDef("炉号")
        g.Groups.AddDef("等级")
        g.Groups.AddDef("品牌")
        g.Groups.AddDef("储位")
        g.Totals.AddDef("入库数量")
        g.Totals.AddDef("出库数量")
        g.Totals.AddExp("库存数量","入库数量 - 出库数量")
        'g.Filter = "入库日期 >= #" & dt1 & "# And 入库日期 <= #" & dt2 & "#"
        'g.Filter = "出库日期 >= #" & dt1 & "# And 出库日期 <= #" & dt2 & "#"
        g.Filter = "入库日期 >= # 2013,5,1 # And 入库日期 <= # 2013,5,31 #"
        g.Filter = "出库日期 >= # 2013,5,1 # And 出库日期 <= # 2013,5,31 #"
        g.Build()

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130514093146.png
图片点击可在新窗口打开查看

没弄明白哪里有问题,数据库里的表名也是对的呀~

[此贴子已经被作者于2013-5-14 10:03:15编辑过]

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 9:52:00 [显示全部帖子]

以下是引用Bin在2013-5-14 9:36:00的发言:
你怎么可以这么传,你传的是字符串数组啊,亲!  



g.AddTable("库存总表",Cols1(0),"入库表",Cols1(1),"出库表",Cols1(2))

这是不能那样传数组的 只能单个字符串



 

如果要根据多列关联,请参考:

 

Dim b As New SQLGroupTableBuilder("统计表1","产品")
Dim 
Cols1() As String = {"型号","规格"}
Dim 
Cols2() As String = {"型号","规格"}
b.AddTable(
"产品",Cols1,"订单"
,Cols2)

 

帮助文档就是这么写的啊~亲~~

之前我用SQLJoinTableBuilder 写的时候 也是这么写的呀 难道错了?

 

 

 

 

g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3)

 

刚改成这样了 貌似可行,但是又有新错误了

 

生成的SQL语句错误 无法继续统计

 


此主题相关图片如下:qq截图20130514100200.png
按此在新窗口浏览图片

我只是想统计5月份的入出库……

[此贴子已经被作者于2013-5-14 10:02:57编辑过]

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 10:21:00 [显示全部帖子]

以下是引用狐狸爸爸在2013-5-14 10:08:00的发言:
做简单例子发上来

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test2.zip


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 12:04:00 [显示全部帖子]

以下是引用Bin在2013-5-14 11:14:00的发言:
是因为同名列的原因, http://www.foxtable.com/help/index.html?n=1626.htm  最下面 "同名列处理"


[此贴子已经被作者于2013-5-14 11:32:25编辑过]

 

Dim g As New SQLGroupTableBuilder("分组统计表","库存总表")
g.C
Dim Cols1() As String = {"品名","规格","材质","零件号"}
Dim Cols2() As String = {"品名","规格","材质","零件号"}
Dim Cols3() As String = {"品名","规格","材质","零件号"}
g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3)
'Dim y As Integer = e.Form.Controls("ComboBox1").text '指定年份
'Dim m As Integer = e.Form.Controls("ComboBox2").text '指定月份
'Dim dt1 As New Date(y, m, 1)
'Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
g.Groups.AddDef("库存类别")
g.Groups.AddDef("{库存总表}.品名")
g.Groups.AddDef("{库存总表}.规格")
g.Groups.AddDef("{库存总表}.材质")
g.Groups.AddDef("{库存总表}.零件号")
g.Groups.AddDef("{库存总表}.国标")
g.Groups.AddDef("{库存总表}.炉号")
g.Groups.AddDef("{库存总表}.等级")
g.Groups.AddDef("{库存总表}.品牌")
g.Groups.AddDef("{库存总表}.储位")
g.Totals.AddDef("入库数量")
g.Totals.AddDef("出库数量")
g.Totals.AddExp("库存数量","入库数量 - 出库数量")
'g.Filter = "入库日期 >= #" & dt1 & "# And 入库日期 <= #" & dt2 & "#"
'g.Filter = "出库日期 >= #" & dt1 & "# And 出库日期 <= #" & dt2 & "#"
g.Filter = "入库日期 >= # 2013,5,1 # And 入库日期 <= # 2013,5,31 #"
g.Filter = "出库日期 >= # 2013,5,1 # And 出库日期 <= # 2013,5,31 #"
g.Build()

 

不知道为何 我运行这个代码生成的表的内容 闪了一下 就变成空表了~~

还要继续请教Bin!


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 12:29:00 [显示全部帖子]

以下是引用Bin在2013-5-14 12:09:00的发言:
g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3) 
很明显就是这里的问题. 改为

g.AddTable("库存总表","品名","入库表","品名")
g.AddTable("库存总表","品名","出库表","品名")
就好了.
或者任意正确的关联列.

否则他找不到关联列,因为不存在都相等的列.
[此贴子已经被作者于2013-5-14 12:10:06编辑过]

 

亲,因为我没有唯一的物品编号,所以 必须要关联 {"品名","规格","材质","零件号"} 这四列

而且帮助文档上就是直接引用cols1的

如果是关联这四列 应该如何写啊?


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 14:42:00 [显示全部帖子]

求帮助

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 15:52:00 [显示全部帖子]

以下是引用muhua在2013-5-14 15:42:00的发言:

Dim g As New SQLGroupTableBuilder("分组统计表","库存总表")
        g.C
Dim Cols1() As String = {"品名","规格","材质","零件号"}
Dim Cols2() As String = {"品名","规格","材质","零件号"}
Dim Cols3() As String = {"品名","规格","材质","零件号"}
g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3)
        'Dim y As Integer = e.Form.Controls("ComboBox1").text '指定年份
        'Dim m As Integer = e.Form.Controls("ComboBox2").text '指定月份
        'Dim dt1 As New Date(y, m, 1)
        'Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天

g.Groups.AddDef("库存总表.库存类别")
g.Groups.AddDef("库存总表.品名")
g.Groups.AddDef("库存总表.规格")
g.Groups.AddDef("库存总表.材质")
g.Groups.AddDef("库存总表.零件号")
g.Groups.AddDef("库存总表.国标")
g.Groups.AddDef("库存总表.炉号")
g.Groups.AddDef("库存总表.等级")
g.Groups.AddDef("库存总表.品牌")
g.Groups.AddDef("库存总表.储位")
g.Totals.AddDef("入库数量")
g.Totals.AddDef("出库数量")
g.Totals.AddExp("库存数量","入库数量 - 出库数量")


        'g.Filter = "入库日期 >= #" & dt1 & "# And 入库日期 <= #" & dt2 & "#"
        'g.Filter = "出库日期 >= #" & dt1 & "# And 出库日期 <= #" & dt2 & "#"
        g.Filter = "入库日期 >= # 2013,5,1 # And 入库日期 <= # 2013,5,31 #"
        g.Filter = "出库日期 >= # 2013,5,1 # And 出库日期 <= # 2013,5,31 #"
        g.Build()

 

 

 

测试了 跟我原来的一样……


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 17:27:00 [显示全部帖子]

以下是引用muhua在2013-5-14 15:58:00的发言:
 下载信息  [文件大小:99.5 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:test2.rar

 

重新写了一个 不报错也不生成 郁闷死了要~~救命啊

Dim bd1 As New GroupTableBuilder("库存统计表",DataTables("库存总表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("库存类别")
bd1.Groups.AddDef("品名")
bd1.Groups.AddDef("规格")
bd1.Groups.AddDef("材质")
bd1.Groups.AddDef("零件号")
bd1.Groups.AddDef("国标")
bd1.Groups.AddDef("炉号")
bd1.Groups.AddDef("等级")
bd1.Groups.AddDef("品牌")
bd1.Groups.AddDef("储位")
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("入库统计表",DataTables("入库表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("品名")
bd2.Groups.AddDef("规格")
bd2.Groups.AddDef("材质")
bd2.Groups.AddDef("零件号")
bd2.Totals.AddDef("入库数量")
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("出库统计表",DataTables("出库表"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("品名")
bd3.Groups.AddDef("规格")
bd3.Groups.AddDef("材质")
bd3.Groups.AddDef("零件号")
bd3.Totals.AddDef("出库数量")
dt3 = bd3.BuildDataSource()

Dim Cols() As String = {"品名","规格","材质","零件号"}
dt1.Combine(Cols,dt2,Cols)
dt1.Combine(Cols,dt3,Cols)
Dim dtb As New DataTableBuilder("统计表")
dtb.AddDef("库存类别", Gettype(String), 32)
dtb.AddDef("品名", Gettype(String), 32)
dtb.AddDef("规格", Gettype(String), 32)
dtb.AddDef("材质", Gettype(String), 32)
dtb.AddDef("零件号", Gettype(String), 32)
dtb.AddDef("储位", Gettype(String), 32)
dtb.AddDef("国标", Gettype(String), 32)
dtb.AddDef("炉号", Gettype(String), 32)
dtb.AddDef("等级", Gettype(String), 32)
dtb.AddDef("品牌", Gettype(String), 32)
dtb.AddDef("入库数量", Gettype(Integer))
dtb.AddDef("出库数量", Gettype(Integer))
dtb.Build()
Tables("统计表").DataSource = dt1
DataTables("统计表").DataCols.Add("库存数量",Gettype(Integer),"isnull([入库数量],0) - isnull([出库数量],0)")


 


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 18:55:00 [显示全部帖子]

还是自己搞定了……

 回到顶部