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


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

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

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


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

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

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


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

 不能直接用。

 

 你需要直接写sql语句了。 基础知识 http://www.foxtable.com/help/topics/0688.htm

 


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


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2015/5/29 13:31:00 [只看该作者]

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

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


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

一个个套进去就好了.写不出来,可以上例子.

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


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

以下是引用狐来江湖在2015/5/29 13:31:00的发言:
可是我需要用到的库存数量,是由4个表的数据计算得来的,也就是属于表达式列,在后台是不存在的,而编写SQL代码又相当复杂。怎么办呢?

 

可以这样,做一个和 grouptablebuild 结构一致的表格。

 

生成表后,把数据填充到那个表里面去,保存数据,然后再用 soljointablebuild


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


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望: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'。 确定它是否存在,以及它的名称的拼写是否正确。

 

是什么原因呢?

 

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


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


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

 说明你这个表 kcmx 是临时表或者查询表,不能直接用。

 

 或者说 kcmx 这个表跟 xsdmx 等表不在同一个数据源


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


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望: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)" )


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


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望: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)' 中。


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


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

AddExp 中,不能用聚合函数。

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