| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3650 人关注过本帖
标题:计算汇总
只看楼主 加入收藏
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
以下是引用sdta在2016-3-11 16:36:07的发言:

上点原始数据来,便于测试
RSB.rar (1.08 KB)
2016-03-11 23:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 21楼 tjdeming
我说的是人员花名册之类的数据
你给的是汇总数据啊

坚守VFP最后的阵地
2016-03-11 23:25
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
会哭的娃儿有奶吃,典型的问题有人解,再严重的前列腺炎挤一挤半小时也可以憋出半茶缸的尿。
已经第三页了,还没有问出实际的问题来,那个急呀。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-03-11 23:47
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
程序代码:
CLEAR
CLOSE DATABASE
USE RSB
COPY TO ARRAY ASJ FIELDS XH,L1
*LIST MEMORY LIKE ASJ
ASJ[2,2]=ASJ[3,2]+ASJ[4,2]+ASJ[5,2]
ASJ[6,2]=ASJ[7,2]+ASJ[8,2]+ASJ[9,2]+ASJ[10,2]
ASJ[13,2]=ASJ[14,2]+ASJ[15,2]+ASJ[16,2]+ASJ[17,2]
ASJ[20,2]=ASJ[21,2]+ASJ[22,2]+ASJ[23,2]+ASJ[24,2]+ASJ[25,2]+ASJ[26,2]+ASJ[27,2]+ASJ[28,2]
ASJ[11,2]=ASJ[12,2]+ASJ[13,2]+ASJ[18,2]+ASJ[19,2]+ASJ[20,2]
* 显示三部分数据计算结果分别为
?ASJ[2,2],ASJ[6,2],ASJ[11,2]
IF ASJ[2,2]!=ASJ[6,2]
    ?"ASJ[2,2]="+STR(ASJ[2,2],6),"ASJ[6,2]="+STR(ASJ[6,2],6)
ELSE
    ?"均为:"+STR(ASJ[2,2],6)
ENDIF

* 剩余数据自己判断吧
USE

坚守VFP最后的阵地
2016-03-12 00:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
这个问题与公式没有直接关系,汇总数据应该是手工填写的,不是计算机计算出来的。所以发生问题是再所难免的。
逻辑错误是手工填写造成的。
这个问题的解决方法应该从花名册录入着手,就不会出现这个问题了。

坚守VFP最后的阵地
2016-03-12 00:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
如果不是手工填写的,并且发生了逻辑错误,应该是程序问题。应该从根源上找问题。

坚守VFP最后的阵地
2016-03-12 00:12
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 26楼 sdta
谢谢!
REPL L1 WITH ASJ[2,2] FOR XH=1 得到了第三行+第四行+第五行的汇总数并 自动填入 第二行中
这是我想要的数据[发贴的目的]
最后验证数据的正确性 通过后就保存.
另:如果行有很多,分层的内容也很多,ASJ的公式表达式会很长.
2016-03-12 06:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
不管如何处理,公式是必须要有的

坚守VFP最后的阵地
2016-03-13 11:20
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
程序代码:
CLEAR
CLOSE DATABASE
USE RSB
*SELECT L1 FROM RSB INTO ARRAY ASJ
COPY TO ARRAY ASJ FIELDS L1
*LIST MEMORY LIKE ASJ
ASJ[2]=ASJ[3]+ASJ[4]+ASJ[5]
ASJ[6]=ASJ[7]+ASJ[8]+ASJ[9]+ASJ[10]
ASJ[13]=ASJ[14]+ASJ[15]+ASJ[16]+ASJ[17]
ASJ[20]=ASJ[21]+ASJ[22]+ASJ[23]+ASJ[24]+ASJ[25]+ASJ[26]+ASJ[27]+ASJ[28]
ASJ[11]=ASJ[12]+ASJ[13,2]+ASJ[18]+ASJ[19]+ASJ[20]
REPLACE L1 WITH ASJ[2] FOR DM='01'
REPLACE L1 WITH ASJ[6] FOR DM='00'
REPLACE L1 WITH ASJ[13] FOR DM='72'
REPLACE L1 WITH ASJ[20] FOR DM='75'
REPLACE L1 WITH ASJ[11] FOR DM='22'

* 显示三部分数据计算结果分别为
?ASJ[2],ASJ[6],ASJ[11]
IF ASJ[2]<>ASJ[6] OR ASJ[6]<>ASJ[11]

 

 =MESSAGEBOX("L1列:"+"  DM[01] "+STR(ASJ[2])+" DM[00]  "+STR(ASJ[6])+"  DM[22] "+STR(ASJ[11]),0+64,"提示")

 
ELSE
    
     =MESSAGEBOX( "审核通过,期末人数"+STR(ASJ[2],6),0+64,"提示")
   
ENDIF
2016-03-13 20:49
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
学习了大师的设计后,自己改了一下,帮我找一下,有没有更好的设计来实现。谢谢!
2016-03-13 20:52
快速回复:计算汇总
数据加载中...
 
   



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

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