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


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

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

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望: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编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/14 9:36:00 [只看该作者]

你怎么可以这么传,你传的是字符串数组啊,亲!  



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

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




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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望: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编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/14 10:08:00 [只看该作者]

做简单例子发上来

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/14 10:12:00 [只看该作者]

确实是可以的,做个例子发出来看看.

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/14 10:21:00 [只看该作者]

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

 

 

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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/14 11:14:00 [只看该作者]

是因为同名列的原因, http://www.foxtable.com/help/index.html?n=1626.htm  最下面 "同名列处理"


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

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望: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!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/14 12:07:00 [只看该作者]

你检查一下筛选条件,统计条件吧.

最大可能性的原因就是
Dim Cols1() As String = {"品名","规格","材质","零件号"}
Dim Cols2() As String = {"品名","规格","材质","零件号"}
Dim Cols3() As String = {"品名","规格","材质","零件号"}
g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3)
这里
和下面筛选条件导致的问题.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/14 12:09:00 [只看该作者]

g.AddTable("库存总表",Cols1,"入库表",Cols2)
g.AddTable("库存总表",Cols1,"出库表",Cols3) 
很明显就是这里的问题. 改为

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

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

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