| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3659 人关注过本帖
标题:计算汇总
取消只看楼主 加入收藏
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
结帖率:90.14%
收藏
已结贴  问题点数:20 回复次数:7 
计算汇总
老师好:
有一个表,想自动计算汇总行,如何实现,并能审核表中行逻辑关系。附表

谢谢!
RSB.rar (1.04 KB)
搜索更多相关主题的帖子: 如何 
2016-03-11 11:08
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
补允说明
表中 L1列 手工输入的有:DM为05、06、07、A01——A18、71、72、73、74、75
  自动计算并输入L1列 的有:DM为01=05+06+07
                           DM为00=A01+A02+A03+A04
                           DM为22=71+72+73+74+75
                           DM为72=A05+A06+A07+A08
……
最后审核关系:L1列  DM为01=DM为00=DM为22 并提示错误

  这是一张人数表

[此贴子已经被作者于2016-3-11 12:01编辑过]

2016-03-11 12:00
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
设计思路是这样的:分项有数据了,点击计算命令后 汇总行的数据自动生成。并审核逻辑关系。
2016-03-11 15:47
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
XM中的公式是用来提示说明行与行之间的数据关系的,实际情况应做到  L1字段,第三行:填入50人,第四行40人,第五行30人,则第二行生成120
第一步计算,第二步审核 来确保数据正确性。

[此贴子已经被作者于2016-3-11 16:35编辑过]

2016-03-11 16:26
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
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
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.029757 second(s), 12 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved