Foxtable(狐表)用户栏目专家坐堂 → 请教如何设计这个表达式


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

主题:请教如何设计这个表达式

美女呀,离线,留言给我吧!
意悠心轻
  81楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 12:53:00 [只看该作者]

不行,还是显示,算了不要这个条件我开一列把它减出来吧。

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  82楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 13:21:00 [只看该作者]

你的程序总是有问题,你还没理解我的意思,分配金额要用同天、生产同一产品,集体生产的人产生的计件工资之和除于这组不重复人数之和,重名的不显示,旷工不在这计算算了,备注注明旷工的,我开另一列把已计算的分配工资扣除算了同。

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  83楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 13:24:00 [只看该作者]

你最后给我的程序重名的还是显示!


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  84楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 13:25:00 [只看该作者]

我把正确的答案用excel计算好上传给你对着看吧。


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


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

以下是引用意悠心轻在2016/2/6 13:24:00的发言:

你最后给我的程序重名的还是显示!

 

无语,你要不显示,就筛选啊,你自己删除筛选的代码的。


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  86楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 13:30:00 [只看该作者]

空行是因为汇总才在前面出现的,汇总之后筛选小计就没了,如此操作没意思!


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


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

For Each ary() As String In DataTables("冲压车间工资表").GetValues("日期|产品名称|生产形式", "日期 is not null and 生产形式 <> '个人'")
    Dim drs As List(Of DataRow) = DataTables("冲压车间工资表").Select("日期=#" & ary(0) & "# and 产品名称='" & ary(1) & "' and 生产形式='" & ary(2) & "'")
    Dim sum As Double = 0
    Dim count As Integer = 0
    Dim ls As new List(Of String)
    For Each dr As DataRow In drs
        Dim fdr As DataRow = DataTables("价格表").find("产品名称 = '" & dr("产品名称") & "'")
        If fdr IsNot Nothing
            dr("单价") = fdr("单价")
        End If
        Dim str As String = dr("姓名")
        If dr("备注") Like "*旷工*" = False Then
            sum += dr("数量") * dr("单价")
            If ls.Contains(str) = False Then
                count += 1
                ls.add(str)
                dr("备注") = dr("备注").replace("重复", Nothing)
            Else
                dr("备注") = "重复" & dr("备注").replace("重复", Nothing)
            End If
        End If
    Next
    For Each dr As DataRow In drs
        If dr("备注") Like "*旷工*" OrElse dr("备注") Like "*重复*" Then
            dr("分配金额") = Nothing
        Else
            dr("分配金额") = format(sum/count, "0.00")
        End If
    Next
Next
For Each dr As DataRow In DataTables("冲压车间工资表").Select("生产形式 = '个人'")
    dr("备注") = dr("备注").replace("重复", Nothing)
    dr("分配金额") = dr("数量") * dr("单价")
Next
Tables("冲压车间工资表").filter = "分配金额 is not null"
Tables("冲压车间工资表").Sort = "日期,产品名称,生产形式,生产工序"

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


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

以下是引用意悠心轻在2016/2/6 13:30:00的发言:

空行是因为汇总才在前面出现的,汇总之后筛选小计就没了,如此操作没意思!

 

你可以把空行删除掉啊。先筛选再汇总啊


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


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

 初学者,请先看视频教程

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  90楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2016/2/6 13:45:00 [只看该作者]

踢除旷工因素,当天计件工资小计应等于分配工资总额,不等正明分配金额有误。

 回到顶部