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


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

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

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


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

把旷工的筛选出去不就行了?

 

Tables("冲压车间工资表").Sort = "日期,产品名称,生产形式,数量"
For Each ary() As String In DataTables("冲压车间工资表").GetValues("日期|产品名称|生产形式|数量")
    Dim drs As List(Of DataRow) = DataTables("冲压车间工资表").Select("日期='" & ary(0) & "' and 产品名称='" & ary(1) & "' and 生产形式='" & ary(2) & "' and 数量 = '" & ary(3) & "' and 备注 not like '%旷工%'")
    Dim sum As Double = 0
    Dim count As Integer = 0
    For Each dr As DataRow In drs
        Dim fdr As DataRow = DataTables("价格表").find("产品名称 = '" & dr("产品名称") & "' and 工序 = '" & dr("生产工序") & "'")
        If fdr IsNot Nothing
            dr("单价") = fdr("单价")
        End If
        sum += dr("数量") * dr("单价")
        count += 1
    Next
    For Each dr As DataRow In drs
        dr("分配金额") = sum / count
    Next
   
Next


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


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

     说实在的我还没有看完所以教程,现在是跳着选我要的教程来看,按钮应在哪做?麻烦把教程连接给我,我只是在学阶段,没弄懂你的软件功能,只因excel运行太慢逼着改软件,凭浅薄的excel知识来弄foxtable2016软件,有点不知天高地厚,年纪大了,老花加近视,眼睛不好使,我上传的foxtable就嫌产品名称下的目录树字体太小,看着费劲,但不知怎么设大,麻烦指教,谢谢。

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


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

1、设置窗口

 

http://www.foxtable.com/help/topics/0698.htm

 

2、设置菜单按钮

 

http://www.foxtable.com/help/topics/1064.htm

 

3、目录树的字体大小不可以调整,如果要调整的话,要用下拉窗口做。

 

http://www.foxtable.com/help/topics/1483.htm

 

http://www.foxtable.com/help/topics/2893.htm

 

 


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


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

     不对,你把备注里有旷工二字的那行计件工资都筛选出去那大家都没了那项的工资了,它是集体生产的,应把同一天、生产同一样产品、数量相同的所有集体生产形式的计件工资汇总,分配给该组不重复人,如果备注列有旷工两字符,则不显示其分配工资。
[此贴子已经被作者于2016/2/3 19:38:19编辑过]

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


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

     旷工应在分配后另设条件语句将它不显示。

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


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

 那就用原来的代码就行啊,那个就是按人分配的啊

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


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

     可还要把旷工那人的分配金额设置为空啊。

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


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

Tables("冲压车间工资表").Sort = "日期,产品名称,生产形式,数量"
For Each ary() As String In DataTables("冲压车间工资表").GetValues("日期|产品名称|生产形式|数量")
    Dim drs As List(Of DataRow) = DataTables("冲压车间工资表").Select("日期='" & ary(0) & "' and 产品名称='" & ary(1) & "' and 生产形式='" & ary(2) & "' and 数量 = '" & ary(3) & "'")
    Dim sum As Double = 0
    Dim count As Integer = 0
    For Each dr As DataRow In drs
        Dim fdr As DataRow = DataTables("价格表").find("产品名称 = '" & dr("产品名称") & "' and 工序 = '" & dr("生产工序") & "'")
        If fdr IsNot Nothing
            dr("单价") = fdr("单价")
        End If
        sum += dr("数量") * dr("单价")
        count += 1
    Next
    For Each dr As DataRow In drs
        If dr("备注") Like "*矿工*" Then
            dr("分配金额") = Nothing
        Else
            dr("分配金额") = sum / count
        End If
    Next
   
Next

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


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

     还有啊我你的公式只是安不重复人数计算了,但在表里该组名字里有重复名字的不能再重复显示分配金额,否则那人就得两份工资了,所以我在excel里编的公式非常复杂,因为要把这些因素考虑进去。
[此贴子已经被作者于2016/2/3 15:19:13编辑过]

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


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

Tables("冲压车间工资表").Sort = "日期,产品名称,生产形式,数量,生产工序"
For Each ary() As String In DataTables("冲压车间工资表").GetValues("日期|产品名称|生产形式|数量")
    Dim drs As List(Of DataRow) = DataTables("冲压车间工资表").Select("日期='" & ary(0) & "' and 产品名称='" & ary(1) & "' and 生产形式='" & ary(2) & "' and 数量 = '" & ary(3) & "'")
    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("产品名称") & "' and 工序 = '" & dr("生产工序") & "'")
        If fdr IsNot Nothing
            dr("单价") = fdr("单价")
        End If
        If ls.Contains(dr("姓名")) = False Then
            sum += dr("数量") * dr("单价")
            count += 1
            ls.add(dr("姓名"))
        Else
            dr("备注") &= "重复"
        End If
    Next
    For Each dr As DataRow In drs
        If dr("备注") Like "*矿工*" OrElse dr("备注") Like "*重复*" Then
            dr("分配金额") = Nothing
        Else
            dr("分配金额") = sum / count
        End If
    Next
   
Next

 回到顶部
总数 196 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..20