Foxtable(狐表)用户栏目专家坐堂 → 求教


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

主题:求教

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


加好友 发短信
等级:幼狐 帖子:186 积分:1931 威望:0 精华:0 注册:2008/9/23 22:10:00
求教  发帖心情 Post By:2009/2/5 9:25:00 [只看该作者]

在表“考核表”中填入“月份”、“姓名”,自动填入“正常工作日_小时“等的统计数据,请问代码如何写?是易表中用刷新公式:SumFor("加班人员表","合计加班天数","实际加班人员姓名","=",[姓名],"加班类型","=","正常工作日","单位"," = ","小时","月份"," = ",[月份])就行了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:加班表.table


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/5 10:22:00 [只看该作者]

例如:

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("加班人员表")
If e.DataCol.Name = "月份"  OrElse  e.DataCol.Name = "姓名"  Then
    If e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then
        e.DataRow("正常工作日加班_小时") = Nothing
        '...清空其他计算字段
    Else
        e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = '" & dr("月份") & "' And [实际加班人员姓名] = '" & dr("姓名") & "'")
        '...计算其他字段
    End if
End If

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/2/5 10:23:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("加班人员表")
If e.DataCol.Name = "月份" OrElse e.DataCol.Name = "姓名"
    if e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then
        e.DataRow("正常工作日加班_小时") = Nothing
    Else
        e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = '" & dr("月份") & "' And [实际加班人员姓名] = '" & dr("姓名") & "'")
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:186 积分:1931 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/2/5 12:03:00 [只看该作者]

还有二个个条件,是加班人员表的“加班类型”=“正常工作日”、“单位”=“小时”


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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/2/5 12:05:00 [只看该作者]

自己加上吧

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/2/5 12:08:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("加班人员表")
If e.DataCol.Name = "月份" OrElse e.DataCol.Name = "姓名"
    if e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then
        e.DataRow("正常工作日加班_小时") = Nothing
    Else
        e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = '" & dr("月份") & "' And [实际加班人员姓名] = '" & dr("姓名") &  "' And [加班类型] = '" & dr("正常工作日") & "' And [单位] = '" & dr("小时") &"'")
    End If
End If



不知是否正确,没有测试!

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


加好友 发短信
等级:幼狐 帖子:186 积分:1931 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/2/5 14:56:00 [只看该作者]

出错,因为该表没有“加班类型”列和“单位”列


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/2/5 15:09:00 [只看该作者]

以下是引用hejfen在2009-2-5 14:56:00的发言:

出错,因为该表没有“加班类型”列和“单位”列



    真是晕,您4楼怎么说的,不是您要增加条件吗?您添加那两个列不就可以了?


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


加好友 发短信
等级:幼狐 帖子:186 积分:1931 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/2/5 15:37:00 [只看该作者]

 And [加班类型] = '" & dr("正常工作日") & "' And [单位] = '" & dr("小时") &"'")  就是这里搞不懂啊,
是不是要改成dt("加班类型")[单位]改成dt("单位"),但都是出错啊。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/5 15:42:00 [只看该作者]

呵呵,磨刀不砍柴工,你不应该现在就急于设计项目,而是需要在反复看几次帮助,特别是关于动态合成表达式的。

e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = '" & dr("月份") & "' And [实际加班人员姓名] = '" & dr("姓名") & "' And [加班类型] = '正常工作日' And [单位] = '小时'"

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