Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样把同一人同一月的数据生成到发放记录表中?


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

主题:[求助]怎样把同一人同一月的数据生成到发放记录表中?

帅哥哟,离线,有人找我吗?
听雪落的声音
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:155 积分:1292 威望:0 精华:0 注册:2009/2/23 15:17:00
[求助]怎样把同一人同一月的数据生成到发放记录表中?  发帖心情 Post By:2009/5/31 10:38:00 [只看该作者]

如题,怎么把人员表中的张三2009年5月工资汇总生成到第二个表中?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/5/31 11:11:00 [只看该作者]

以下是引用听雪落的声音在2009-5-31 10:38:00的发言:

如题,怎么把人员表中的张三2009年5月工资汇总生成到第二个表中?

 下载信息  [文件大小:396.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

最简单办法做个关联,将姓名和性别关联起来,将发放记录的工资列改成表达式列.将表达式写成"Sum(Child(工资).工资)",就可以了.
  然后,写上姓名和性别,工资列自然会汇总.


 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/31 11:55:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:把同一人同一月的数据生成到发放记录.table

加了一个月份列
[此贴子已经被作者于2009-5-31 11:55:06编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2009/5/31 15:18:00 [只看该作者]

以下是引用blackzhu在2009-5-31 11:11:00的发言:

最简单办法做个关联,将姓名和性别关联起来,将发放记录的工资列改成表达式列.将表达式写成"Sum(Child(工资).工资)",就可以了.
  然后,写上姓名和性别,工资列自然会汇总.

  老六说的,能用表达式解决的,千万不要用代码解决.看附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资汇总.table


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


加好友 发短信
等级:婴狐 帖子:31 积分:468 威望:0 精华:0 注册:2008/9/1 9:56:00
  发帖心情 Post By:2009/6/1 17:38:00 [只看该作者]

以下是引用yangming在2009-5-31 11:55:00的发言:
 下载信息  [文件大小:396.0 KB  下载次数:10]
图片点击可在新窗口打开查看点击浏览该文件:把同一人同一月的数据生成到发放记录.table

加了一个月份列
[此贴子已经被作者于2009-5-31 11:55:06编辑过]

可以不加月份列吗?另外年份不能区别


 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/1 18:15:00 [只看该作者]

你不会将几年的工资表都放在一张表中吧?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/1 18:38:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:把同一人同一月的数据生成到发放记录.table

还是要加年和月列,你可以隐藏这两列

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/6/1 20:03:00 [只看该作者]

以下是引用nidecan在2009-6-1 17:38:00的发言:

可以不加月份列吗?另外年份不能区别


将发放记录表的发放日期改成日期型。
发放记录表,DataColChanged事件代码。

Dim dr As DataRow =e.DataRow
if e.DataCol.Name ="发放日期" Then
    if dr.IsNull("发放日期") Then
        dr("工资") = Nothing
    Else
        Dim d As Date = dr("发放日期")
        Dim Month As Integer = d.Month
        Dim Year As Integer = d.Year
        Dim StartDate As Date = New Date(Year,Month,1)
        Dim EndDate As Date = New Date(Year,Month,Date.DaysInMonth(Year,Month))
        dr("工资") = DataTables("人员表").Compute("sum(工资)", "[姓名] = '" & dr("姓名") & "' And [开始时间] >= #" & StartDate & "# And [开始时间] <= #" & EndDate & "#")
    End If
End If


 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/2 9:07:00 [只看该作者]

又学了一招,呵呵

 回到顶部
美女呀,离线,留言给我吧!
yangming
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/2 9:34:00 [只看该作者]

学着八婺老师做的,加了一个自动填充姓名及性别的,放在按钮中的

Dim d As Date = Date.Today
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim s As Date = New Date(y,m,1)
dim f As New Filler
 f.SourceTable = DataTables("人员表") '指定数据来源
 f.SourceCols = "姓名,性别" '指定数据来源列
 f.DataTable = DataTables("发放记录") '指定数据接收表
 f.DataCols = "姓名,性别" '指定数据接收列
 f.Fill() '填充数据
         For Each dr As DataRow In DataTables("发放记录").DataRows
         
 if dr.IsNull("工资") = True Then
               dr("工资") = DataTables("人员表").Compute("Sum(工资)", "[姓名]= '" & dr("姓名") &  "' And [开始时间] = '" & s & "'")
    if dr.IsNull("发放日期") = True Then
        dr("发放日期") = d
 End If
End If
 Next


 回到顶部