Foxtable(狐表)用户栏目专家坐堂 → SQLJoinTableBuilder后台统计出错


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

主题:SQLJoinTableBuilder后台统计出错

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
SQLJoinTableBuilder后台统计出错  发帖心情 Post By:2018/8/9 1:33:00 [只看该作者]

老师:
Tables("标录分析_Table01")是生成的查询表动态绑定到这个副表,“标录明细”是外部表(SQL),我的需求是:根据Tables("标录分析_Table01")表中的系统编号来生成另一个查询表【Tables("标录分析_Table06")】,但下面代码出错了,如何调整,谢谢!


Dim tb1 As Table = Tables("标录分析_Table01")
Dim tb6 As Table = Tables("标录分析_Table06")

Dim jb As New SQLJoinTableBuilder("标录明细汇总表","tb1.DataTable.Name")
jb.C
jb.AddTable("tb1.DataTable.Name","系统编号","标录明细","系统编号")
jb.AddCols("开标日期","开标时间","咨询类型","{标录明细}.系统编号","{标录明细}.项目名称","本期概算","标准基价","招标控制价","风险控制价","最高限价","最低限价","投标单位","中标候选人","开标地址","工程类别","投标球号","投标报价","评标基准价")
jb.AddExp("下浮率_招标控制价","Case When 招标控制价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 招标控制价 Else 0 End")
jb.AddExp("下浮率_风险控制价","Case When 风险控制价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 风险控制价 Else 0 End")
jb.AddExp("下浮率_最高限价","Case When 最高限价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 最高限价 Else 0 End")
jb.AddExp("下浮率_最低限价","Case When 最低限价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 最低限价 Else 0 End")

'jb.Build()
'MainTable = Tables("查询表1")

tb6.DataSource = jb.BuildDataSource

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/9 9:35:00 [只看该作者]

1、生成的查询表、窗口表、临时表,都不可以再用sql方式再次统计;

 

2、复杂的统计,建议你直接写sql语句直接生成吧。


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/8/9 15:29:00 [只看该作者]

生成一个“标录明细汇总表”查询表,然后根据tb1表中已有的“系统编号”,只要包含的全部统计出来,但下面代码错在哪里?


Dim tb1 As Table = Tables("标录分析_Table01")
Dim tb6 As Table = Tables("标录分析_Table06")

Dim jb As New SQLJoinTableBuilder("标录明细汇总表","标录明细")
jb.C
jb.AddTable("标录明细","系统编号","招标信息","系统编号")
jb.AddCols("开标日期","开标时间","{标录明细}.系统编号","{标录明细}.项目名称","本期概算","标准基价","招标控制价","风险控制价","最高限价","最低限价","投标单位","中标候选人","投标球号","投标报价","评标基准价")
jb.AddExp("下浮率_招标控制价","Case When 招标控制价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 招标控制价 Else 0 End")
jb.AddExp("下浮率_风险控制价","Case When 风险控制价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 风险控制价 Else 0 End")
jb.AddExp("下浮率_最高限价","Case When 最高限价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 最高限价 Else 0 End")
jb.AddExp("下浮率_最低限价","Case When 最低限价 > 0 And 投标报价 > 0 Then 1 - 投标报价 / 最低限价 Else 0 End")

For Each dr1 As Row In tb1.Rows
    jb.Filter = "{标录明细}.系统编号 = '" & dr1("系统编号") & "'"
Next

tb6.DataSource = jb.BuildDataSource

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/9 16:01:00 [只看该作者]

dim filter as string
For Each dr1 As Row In tb1.Rows
    filter = filter & ",'" dr1("系统编号") & "'"
Next
filter = filter.trim(",")
msgbox(filter)
 jb.Filter = "{标录明细}.系统编号 in (" & filter  & ")"

 回到顶部