Foxtable(狐表)用户栏目专家坐堂 → 求助:能否利用查询表和数据表进行组合?


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

主题:求助:能否利用查询表和数据表进行组合?

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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
求助:能否利用查询表和数据表进行组合?  发帖心情 Post By:2015/5/29 12:03:00 [显示全部帖子]

我先利用grouptablebuild生成一个查询表,能再用soljointablebuild与另外一个数据表组合,生成我想要的另一个查询表吗?

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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 13:31:00 [显示全部帖子]

可是我需要用到的库存数量,是由4个表的数据计算得来的,也就是属于表达式列,在后台是不存在的,而编写SQL代码又相当复杂。怎么办呢?

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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 14:41:00 [显示全部帖子]

嗯,谢谢大红袍老师。

我刚才写了如下的代码:

Dim jb As New SQLJoinTableBuilder("统计表","kcmx")
Dim Cols1() As String = {"hh","ph"}
Dim Cols2() As String = {"hh","ph"}
Dim Cols3() As String = {"hh","ph"}
jb.AddTable("kcmx",Cols1,"xsdmx",Cols1)
jb.AddTable("kcmx",Cols1,"rkdmx",Cols2)
jb.AddTable("kcmx",Cols1,"qtck",Cols3)
jb.AddTable("kcmx","hh","sp","hh")
jb.AddCols("{kcmx}.hh","{kcmx}.pm","{kcmx}.sccj","{kcmx}.gg","{kcmx}.dw","{kcmx}.ph","{kcmx}.yxqz","qckc","rq","dflsx","splb","yxqx","clccsx1","xsglsx2")
jb.AddExp("销售数量", "Sum(xssl)")
jb.AddExp("入库数量",  "Sum(rksl)")
jb.AddExp("其他", "Sum(cksx)")
jb.AddExp("库存数量", "IsNull(qckc,0) + Sum(rksl) - Sum(xssl) - Sum(cksx)")
'jb.AddExp("库存数量", " IsNull("qckc",0) + IsNull(Sum("rksl"),0) - ISNULL(sum("xssl"),0) - ISNULL(sum("cksx"),0)" )
jb.Filter = "库存数量 > 0.01"
jb.build()
MainTable = Tables("统计表")

 

但是提示:

Microsoft Jet 数据库引擎找不到输入表或查询 '~TMPCLPkcmx'。 确定它是否存在,以及它的名称的拼写是否正确。

 

是什么原因呢?

 

上述代码中一条库存对应着好几条入库记录,也对应着好几条销售记录。


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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 14:53:00 [显示全部帖子]

那下面的两条代码哪一条是正确的呢?

 

好像系统提示都有问题的。

第一条代码提示什么个数不对

第二条提示最后的)应该还有后续语句。

待该就是这个意思。

 

jb.AddExp("库存数量", "IsNull(qckc,0) + Sum(rksl) - Sum(xssl) - Sum(cksx)")
'jb.AddExp("库存数量", " IsNull("qckc",0) + IsNull(Sum("rksl"),0) - ISNULL(sum("xssl"),0) - ISNULL(sum("cksx"),0)" )


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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 14:54:00 [显示全部帖子]

第一条提示

用于函数参数的个数不对 在查询表达式 'IsNull(qckc,0) + Sum(rksl) - Sum(xssl) - Sum(cksx)' 中。


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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 14:59:00 [显示全部帖子]

第二条提示:

图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 15:00:00 [显示全部帖子]

提示的是代码编译错误

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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 15:04:00 [显示全部帖子]

那可以用

jb.AddExp("销售数量", "Sum(xssl)")
jb.AddExp("入库数量",  "Sum(rksl)")
jb.AddExp("其他", "Sum(cksx)")
这三个表达式计算出来的数据吗?

“销售数量”“入库数量”“其他”


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


加好友 发短信
等级:童狐 帖子:255 积分:2263 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 15:14:00 [显示全部帖子]

因为牵涉的数据表多,不容易上例子。

我再照您说的办法创建一个和grouptablebuild一样的数据表试一试吧。

谢谢大红袍老师的指导!


 回到顶部