Foxtable(狐表)用户栏目专家坐堂 → 生成报表代码错误


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

主题:生成报表代码错误

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/15 9:51:00 [只看该作者]

“工程量清单“表和”中间计量表“都有”项目名称“列和”施工合同段“列

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


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

”项目名称“从哪个表哪一行取值?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/15 16:35:00 [只看该作者]

我是从”中间计量表“和”工程量清单“表提取数据生成报表,两个表都有对应的”项目名称“、”施工合同段“、”支付编号“三列,我想根据”中间计量表“当前加载的数据(分页加载),来同步提取”工程量清单“表中”项目名称“、”施工合同段“、”支付编号“三列对应的数据生成报表,请问老师,是怎么处理?

Dim ids As String

For Each dr As DataRow In DataTables("中间计量表").DataRows

    ids = ids & "," & dr("_Identify")

Next

ids= ids.Trim(",")

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\分项工程中期支付汇总表.xlsx")

Dim fl As String = ProjectPath & "Reports\分项工程中期支付汇总表.xlsx"

book.AddDataTable("分项工程中期支付汇总表","xlgl"," selec t 项目名称,施工合同段,章节,支付编号,细目名称,单位, sum(数量) as 数量, sum(合同金额) as 合同金额,sum(申报数量) as 申报数量, sum(申报金额) as 申报金额 fro m (SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 数量, 数量 * 单价 as 合同金额, 0.0 as 申报数量, 0.0 as 申报金额 FRO M {工程量清单 where [项目名称] = '" & dr("项目名称") & "' And [施工合同段] = '" & dr("施工合同段") & "' UNION ALL SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 0, 0, 申报数量, 申报数量 * 单价  FRO M {中间计量表where  [项目名称] = '" & dr("项目名称") & "' And [施工合同段] = '" & dr("施工合同段") & "') as a group by 项目名称,施工合同段,章节,支付编号,细目名称,单位" )

Book.Build()

Book.Save(fl)

Dim Proc As New Process

Proc.File = fl

Proc.Start()


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


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

Dim ids As String
For Each dr As DataRow In DataTables("中间计量表").DataRows
    ids = ids & ",'" & dr("项目名称") & dr("施工合同段") & "'"
Next
ids= ids.Trim(",")

Dim Book As New XLS.Book(ProjectPath & "Attachments\分项工程中期支付汇总表.xlsx")
Dim fl As String = ProjectPath & "Reports\分项工程中期支付汇总表.xlsx"
book.AddDataTable("分项工程中期支付汇总表","xlgl"," selec t 项目名称,施工合同段,章节,支付编号,细目名称,单位, sum(数量) as 数量, sum(合同金额) as 合同金额,sum(申报数量) as 申报数量, sum(申报金额) as 申报金额 fro m (SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 数量, 数量 * 单价 as 合同金额, 0.0 as 申报数量, 0.0 as 申报金额 FRO M {工程量清单}  where [项目名称]+[施工合同段] in ( '" & ids & "') UNION ALL SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 0, 0, 申报数量, 申报数量 * 单价  FRO M {中间计量表} where  [项目名称]+[施工合同段] in ( '" & ids & "') )as a group by 项目名称,施工合同段,章节,支付编号,细目名称,单位" )
Book.Build()
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/17 8:10:00 [只看该作者]

老师,显示以下错误:

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2017.12.18.1
错误所在事件:窗口,计量统计,Button11,Click
详细错误信息:
未将对象引用设置到对象的实例。


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/17 8:10:00 [只看该作者]

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2017.12.18.1
错误所在事件:
详细错误信息:
'良梅路二期No' 附近有语法错误。
'良梅路二期No' 附近有语法错误。

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


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

照着14楼做啊,循环表的每一行,获取得到条件啊。

 

Dim filter As String = "1=2"
For Each f As DataRow In DataTables("计量汇总").DataRows
    filter &= " or " &  "项目名称 ='" & f("项目名称") & "' And 施工合同段 ='" & f("施工合同段") & "' And 计量期次 ='" & f("计量期次") & "'"
Next
msgbox(filter)

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2018/12/18 8:52:00 [只看该作者]

老师以下代码有什么问题

Dim filter As String = "1=2"
For Each f As DataRow In DataTables("中间计量表").DataRows
    filter &= " or " &  "项目名称 ='" & f("项目名称") & "' And 施工合同段 ='" & f("施工合同段") & "' And 支付编号 ='" & f("支付编号") & "'"
Next
msgbox(filter)
Dim Book As New XLS.Book(ProjectPath & "Attachments\分项工程中期支付汇总表.xlsx")
Dim fl As String = ProjectPath & "Reports\分项工程中期支付汇总表.xlsx"
book.AddDataTable("分项工程中期支付汇总表","xlgl"," selec t 项目名称,施工合同段,章节,支付编号,细目名称,单位, sum(数量) as 数量, sum(合同金额) as 合同金额,sum(申报数量) as 申报数量, sum(申报金额) as 申报金额 fro m (SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 数量, 数量 * 单价 as 合同金额, 0.0 as 申报数量, 0.0 as 申报金额 FRO M {工程量清单} b where a.项目名称=b.项目名称 and a.施工合同段=b.施工合同段 and a.支付编号=b. 支付编号  FRO M {中间计量表}) a " & filter)
Book.Build()
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

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


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

合成的条件,填入红色位置啊。你到底有没有看懂之前14楼的代码?和14楼之前的帖子?

 

" selec t 项目名称,施工合同段,章节,支付编号,细目名称,单位, sum(数量) as 数量, sum(合同金额) as 合同金额,sum(申报数量) as 申报数量, sum(申报金额) as 申报金额 fro m (SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 数量, 数量 * 单价 as 合同金额, 0.0 as 申报数量, 0.0 as 申报金额 FRO M {工程量清单} " & 这里合成条件 & " UNION ALL SELEC T 项目名称,施工合同段,章节,支付编号,细目名称,单位, 0, 0, 申报数量, 申报数量 * 单价  FRO M {中间计量表} " & 这里合成条件 & ") as a group by 项目名称,施工合同段,章节,支付编号,细目名称,单位"


 回到顶部
总数 29 上一页 1 2 3