标题:如何统计每个人每月早、中、晚班天数
只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:3 
如何统计每个人每月早、中、晚班天数
现有表文件,如何统计每个人每月早、中、晚班天数,【字段名为:姓名 C(10),早班(个) N(4), 中班(个) N(4), 晚班(个) N(4),餐补 N(5,1)】餐补计算方法:早、中班餐补5元,晚班餐补3.5元。请高手赐教,万分感谢!


[此贴子已经被作者于2023-4-9 12:29编辑过]

搜索更多相关主题的帖子: 计算方法 天数 统计 姓名 文件 
2023-04-09 11:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
之前的大同小异,变通一下就可以

程序代码:
CREATE CURSOR tt (xm c(10), j1 c(2), j2 c(2), j3 c(2))
INSERT INTO tt VALUES ("姓名1","早","中","晚")
INSERT INTO tt VALUES ("姓名2","中","晚","早")
INSERT INTO tt VALUES ("姓名3","早","晚","早")
INSERT INTO tt VALUES ("姓名4","晚","中","晚")
SELECT *, fun("早") 早班, fun("中") 中班, fun("晚") 晚班 FROM tt

FUNCTION fun(cj)
    LOCAL i,ret
    ret = 0
    FOR i=2 TO FCOUNT()
        IF EVALUATE(FIELD(i))==cj
            ret = ret + 1
        ENDIF 
    ENDFOR
    RETURN ret
ENDFUNC

2023-04-09 13:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
程序代码:
CREATE CURSOR tj (xm c(10), 餐补 n(5,1), 早班 n(4), 中班 n(4), 晚班 n(4))
CREATE CURSOR tt (xm c(10), hj n(6,2), a01 c(2), a02 c(2), a03 c(2))
INSERT INTO tt VALUES ("aaa", 0, "中", "早", "晚")
INSERT INTO tt VALUES ("bbb", 0, "晚", "晚", "晚")
INSERT INTO tt VALUES ("ccc", 0, "中", "早", "早")
SCAN
    lnsum = 0
    lcStr = SPACE(0) 
    FOR ln = 3 TO FCOUNT()
        lnsum = lnsum + IIF(INLIST(EVALUATE(FIELD(ln)), "中", "早"), 5, 3.5)
        lcStr = lcStr + "," + EVALUATE(FIELD(ln))
    ENDFOR
    INSERT INTO tj VALUES (tt.xm, lnsum, OCCURS("早", lcStr), OCCURS("中", lcStr), OCCURS("晚", lcStr))
ENDSCAN 
SELECT tj
BROWSE 


坚守VFP最后的阵地
2023-04-09 13:42
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
谢谢两位的热心指点!!!
2023-04-09 13:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511841-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.287167 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved