Foxtable(狐表)用户栏目专家坐堂 → [求教]多表合并-代码


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

主题:[求教]多表合并-代码

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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
[求教]多表合并-代码  发帖心情 Post By:2019/6/19 12:06:00 [只看该作者]

版主,我换了个思路去做我之前想做的工资表,用多表合并来完成,想要达到的效果如下图一,我所做的代码如下,运行后出现如图二的错误,请您帮看下哪里有问题,帮忙修改下,谢谢!!
图一

图片点击可在新窗口打开查看此主题相关图片如下:jgt.png
图片点击可在新窗口打开查看
图二

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190619115412.png
图片点击可在新窗口打开查看
代码
Dim g1 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt1 As fxDataSource
g1.Groups.AddDef("财务结算年月")
g1.Groups.AddDef("泵车信息_编号")
g1.Groups.AddDef("泵车筛选", "车辆编号及车牌号")
g1.Totals.AddDef("砼方量_签单", "车辆作业方量_签单")
g1.Totals.AddDef("砼方量_补方", "车辆作业方量_补方")
g1.Totals.AddDef("砼方量_合计", "车辆作业方量_合计")
g1.VerticalTotal = True
g1.Filter = "[财务结算年月] = 201905 and [泵车信息_编号] < 100"
dt1 = g1.BuildDataSource()

Dim g2 As New GroupTableBuilder("统计表1", DataTables("泵人档案"))
Dim dt2 As fxDataSource
g2.Groups.AddDef("泵工数据统计_年月", "泵工考勤统计_年月")
g2.Groups.AddDef("泵工数据统计_编号", "泵工考勤统计_编号")
g2.Groups.AddDef("泵工数据统计_人员", "泵工工资明细_姓名")
g2.Totals.AddDef("泵工数据统计_基础工资", "泵工工资明细_基础工资")
g2.Totals.AddDef("泵工数据统计_出勤", "泵工工资明细_出勤")
g2.Filter = "[泵工数据统计_年月] = 201905"
dt2 = g2.BuildDataSource()

Dim g3 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt3 As fxDataSource
g3.Groups.AddDef("财务结算年月")
g3.Groups.AddDef("作业人员_1", "泵工工资明细_姓名")
g3.Totals.AddDef("泵工方量分配_分配", "泵工工资明细_作业方量")
g3.VerticalTotal = True
g3.Filter = "[财务结算年月] = 201905 and [作业人员_1] is not null"
dt3 = g3.BuildDataSource()

Dim g4 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt4 As fxDataSource
g4.Groups.AddDef("财务结算年月")
g4.Groups.AddDef("作业人员_2", "泵工工资明细_姓名")
g4.Totals.AddDef("泵工方量分配_分配", "泵工工资明细_作业方量")
g4.VerticalTotal = True
g4.Filter = "[财务结算年月] = 201905 and [作业人员_2] is not null"
dt4 = g4.BuildDataSource()

Dim g5 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt5 As fxDataSource
g5.Groups.AddDef("财务结算年月")
g5.Groups.AddDef("作业人员_3", "泵工工资明细_姓名")
g5.Totals.AddDef("泵工方量分配_分配", "泵工工资明细_作业方量")
g5.VerticalTotal = True
g5.Filter = "[财务结算年月] = 201905 and [作业人员_3] is not null"
dt5 = g5.BuildDataSource()

Dim g6 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt6 As fxDataSource
g6.Groups.AddDef("财务结算年月")
g6.Groups.AddDef("作业人员_4", "泵工工资明细_姓名")
g6.Totals.AddDef("泵工方量分配_分配", "泵工工资明细_作业方量")
g6.VerticalTotal = True
g6.Filter = "[财务结算年月] = 201905 and [作业人员_4] is not null"
dt6 = g6.BuildDataSource()

Dim g7 As New GroupTableBuilder("统计表1", DataTables("泵送明细"))
Dim dt7 As fxDataSource
g7.Groups.AddDef("财务结算年月")
g7.Groups.AddDef("作业人员_5", "泵工工资明细_姓名")
g7.Totals.AddDef("泵工方量分配_分配", "泵工工资明细_作业方量")
g7.VerticalTotal = True
g7.Filter = "[财务结算年月] = 201905 and [作业人员_5] is not null"
dt7 = g7.BuildDataSource()

Dim nms1 As String() = {"财务结算年月"}
Dim nms2 As String() = {"泵工考勤统计_年月"}
Dim nms3 As String() = {"财务结算年月"}
Dim nms4 As String() = {"财务结算年月"}
Dim nms5 As String() = {"财务结算年月"}
Dim nms6 As String() = {"财务结算年月"}
Dim nms7 As String() = {"财务结算年月"}

dt1.Combine(nms1,dt2,nms2)
dt1.Combine(nms1,dt3,nms3)
dt1.Combine(nms1,dt4,nms4)
dt1.Combine(nms1,dt5,nms5)
dt1.Combine(nms1,dt6,nms6)
dt1.Combine(nms1,dt7,nms7)

Tables("泵送明细_Table6").DataSource = dt1

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


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

数据重复的不能连接。比如你第一个表,有多个重复的年月,第二个表也有,这个时候,无法组合,因为值不唯一。

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


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

 

也就是,连接的列的值,必须唯一不能重复。

 

 


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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
  发帖心情 Post By:2019/6/19 15:09:00 [只看该作者]

相当于,这个合并有7个表组成,第一个不要,合并后6个表,可否,也就是达到图一中人员开始后面的效果呢?也就是姓名,基础工资,出勤和作业方量,四列

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


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

以下是引用hcfbehero在2019/6/19 15:09:00的发言:
相当于,这个合并有7个表组成,第一个不要,合并后6个表,可否,也就是达到图一中人员开始后面的效果呢?也就是姓名,基础工资,出勤和作业方量,四列

 

各个表的组合列,必须唯一、没有重复的值,才能连接的,否则,你只能用之前写给你的旧方法处理。

 

 


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


加好友 发短信
等级:幼狐 帖子:109 积分:1074 威望:0 精华:0 注册:2019/1/16 22:56:00
  发帖心情 Post By:2019/6/19 17:36:00 [只看该作者]

我再看下,有什么问题了,再请教您


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


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

以下是引用hcfbehero在2019/6/19 17:36:00的发言:
我再看下,有什么问题了,再请教您

 

如果还有问题,做一个实例发上来测试。


 回到顶部