Foxtable(狐表)用户栏目专家坐堂 → [求助]数据引用


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

主题:[求助]数据引用

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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
[求助]数据引用  发帖心情 Post By:2016/8/24 15:35:00 [只看该作者]

现有情况

现有表A(年度薪酬数据库)、表B(人事总表)、表C(年终人员薪酬汇总)

现在希望表C从表B中读取年终人员在岗的信息(包含所属公司、一级部门、二级部门、姓名、工号、岗位、职级),

同时从表A中(包含:所属公司、一级部门、二级部门、姓名、工号、岗位、职级、应发工资、月份、时间)读取各月应发工资信息

 

用数值表和水平表转换没解决这个问题,请楼主指点!!!


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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/24 15:36:00 [只看该作者]

我现在通过BUTTON按钮可以实现从表B中读取人员信息至表C

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


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

 还不如直接做查询表

 

http://www.foxtable.com/webhelp/scr/2322.htm

 


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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/24 16:34:00 [只看该作者]

按楼主说法做出来的应该是单表查询,所有数据还是竖向排列,我现在需要把竖向结果变为横向

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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/24 16:35:00 [只看该作者]

按实际使用情况,表C在年终之前都是空表,在生成后人事基础信息与表B一致,没必要加入查询表范围,那就剩下表A和表C关联查询,同时还要把竖向变为横向


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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/24 16:36:00 [只看该作者]

按实际使用情况,表C在年终之前都是空表,在生成后人事基础信息与表B一致,没必要加入查询表范围,那就剩下表A和表C关联查询,同时还要把竖向变为横向


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


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

 上传实例说明情况。

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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/25 14:22:00 [只看该作者]

楼主,通过其他实例解决了上面的问题,增加了一个窗口来进行操作,通过窗口添加表格和BUTTON进行操作

button命令如下:

 

DataTables("基层人员年度绩效汇总审批表").DataRows.Clear()
Dim Lbl As WinForm.Label = e.Form.Controls("Label1")
Lbl.Text = "基层人员年度绩效汇总审批表"
Lbl.ForeColor=Color.red
 Dim f As New Filler
 f.SourceTable = DataTables("人事基本信息表") '指定数据来源
 f.SourceCols = "所属公司,一级部门,二级部门,工号,姓名,岗位,职级,分管领导" '指定数据来源列
 f.DataTable = DataTables("基层人员年度绩效汇总审批表") '指定数据接收表
 f.DataCols = "所属公司,一级部门,二级部门,工号,姓名,岗位,职级,分管领导" '指定数据接收列
 f.Fill() '填充数据
 For Each dc As DataCol In DataTables("基层人员年度绩效汇总审批表").DataCols
     If dc.Name.EndsWith("月") Then
         For Each dr As DataRow In DataTables("基层人员年度绩效汇总审批表").DataRows
      
             dr(dc.name) = DataTables("绩效数据库").Compute("Sum(绩效等级)","月份 ='" & dc.Name & "' And 工号= '" & dr("工号") & "'")
       Next
     End If
 Next
Tables("绩效统计_Table1").DataSource = DataTables("基层人员年度绩效汇总审批表")
Vars("s100") = True
Vars("s1") = False

 

出现如下提示:

无效的聚合函数 Sum()和类型 String 的用法。

 

是sum函数错误了吗?绩效等级列设置是字符型


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


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

你是要合计绩效等级列,还是要计算个数?

 

1、如果要合计,你要把列改成数值列;

 

2、如果要计算个数,改成 Count(绩效等级)


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


加好友 发短信
等级:幼狐 帖子:107 积分:850 威望:0 精华:0 注册:2015/5/12 10:19:00
  发帖心情 Post By:2016/8/25 15:22:00 [只看该作者]

不是数学计算,就是引用

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