| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
买学问 - 大牛一对一辅导,有问必答买学问 - 专业的付费知识问答平台
共有 268 人关注过本帖
标题:如何统计行的值
只看楼主 加入收藏
杂七杂八
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2018-2-20
结帖率:80%
  已结贴   问题点数:20  回复次数:4   
如何统计行的值
一张考勤表,现要统计出个数并将结果填入表中
A1,A2,A3,A4 表示每月的号
如何做到
附件: 您没有浏览附件的权限,请 登录注册
2019-04-15 20:34
donotspam
Rank: 2
等 级:论坛游民
帖 子:53
专家分:77
注 册:2016-2-28
  得分:7 
不难.
遍历每条记录,统计填表.
A1,A2,A3,A4,...可考虑用循环+宏变量匹配字段名.
2019-04-15 21:31
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:185
帖 子:7647
专家分:18784
注 册:2012-2-5
  得分:7 
这个表本身设计就不科学,应该如下设计
xh
xm
dm
日期
事由
最后将结果存入统计表中

坚守VFP最后的阵地
2019-04-15 21:47
yewxj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:146
专家分:137
注 册:2015-6-18
  得分:7 
IF !USED('tab_a')
    USE tab_a ALIAS tab_a IN 0
ENDIF

_S = 4    &&从第4列开始统计
_E = 9    &&统计到第9列结束

SELECT tab_a
_F = AFIELDS(_FArr,'tab_a')    &&将字段信息存入数组_FArr
SCAN
    _C = ''                &&用于存储每行字符
    FOR ii = _S TO _E      &&从第4列开始统计
        _C = _C + ALLTRIM(&_FArr[ii,1])
    ENDFOR
    REPLACE ALL 病假 WITH ALLTRIM(STR(OCCURS('病',_C))),事假 WITH ALLTRIM(STR(OCCURS('事',_C))),旷工 WITH ALLTRIM(STR(OCCURS('旷',_C))),探亲 WITH ALLTRIM(STR(OCCURS('探',_C)))
ENDSCAN  
2019-04-15 22:31
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:185
帖 子:7647
专家分:18784
注 册:2012-2-5
  得分:0 
CLOSE DATABASES
USE tab_a
BLANK FIELDS 病假,事假,旷工,探亲 ALL
cStr1 = ""
SCAN
    FOR i = 4 TO 9
        cStr = ALLTRIM(EVALUATE(FIELD(i)))
        IF EMPTY(cStr)
            LOOP
        ENDIF
        DO CASE
            CASE cStr $ "病假" OR cStr $ "事假"
                cStr1 = cStr + "假"
            CASE cStr $ "旷工"
                cStr1 = "旷工"
            CASE cStr $ "探亲"
                cStr1 = "探亲"
        ENDCASE
        REPLACE (cStr1) WITH TRANSFORM(INT(VAL(EVALUATE(cStr1))) + 1)
    ENDFOR
ENDSCAN
BROWSE
USE IN tab_a

坚守VFP最后的阵地
2019-04-15 22:36







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

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