| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1413 人关注过本帖
标题:问个字符或者日期相加问题?
取消只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
改改后,出来了,
SCAN 才几行,怎么FOR 要这么多,效果1样啊
2015-04-12 18:54
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2015-4-12 19:09:43的发言:

关键之处在于两表建立了临时关系,也就是通过关键字段的连接。
如果数据量大的话,我的代码运行速度绝对比你的代码运行速度快。
if tmp_cash.编号=TMP_CASH2.编号 AND 操作=1
    replace TMP_CASH2.交费备注 with TMP_CASH2.交费备注-","-dtoc(tmp_cash.费用期间)
ENDIF
还要上面的 if tmp_cash.编号=TMP_CASH2.编号 AND 操作=1 中的,tmp_cash.编号=TMP_CASH2.编号不?
2015-04-12 19:24
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
select TMP_CASH
set relation to 编号 into TMP_CASH2
scan
*if 操作=1
if tmp_cash.编号=TMP_CASH2.编号 AND 操作=1
    replace TMP_CASH2.交费备注 with TMP_CASH2.交费备注-","-dtoc(tmp_cash.费用期间)
ENDIF   
endscan
我刚才试了,如果没“set relation to 编号 into TMP_CASH2”,就不行了,全加在第1个记录上去; 有这行,tmp_cash.编号=TMP_CASH2.编号,不要也可以。。
2015-04-12 19:36
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2015-4-12 19:09:43的发言:

关键之处在于两表建立了临时关系,也就是通过关键字段的连接。
如果数据量大的话,我的代码运行速度绝对比你的代码运行速度快。
用你的SCAN真快,
表TMP_CASH,5600条记录,汇总后的表TMP_CASH2有1500记录,
我用2个FOR的做法,用了10秒,就是用T1=SECONDS(),T2=SECONDS(),MESSAGEBOX(STR(T2-T2,12,4))算出来。
FOR I=1 TO 1500
...
FOR J=1 TO 5600
...
ENDFOR
ENDFOR
..

但用SACN ...ENDSCAN,才用了0.4秒,,
2015-04-12 20:01
快速回复:问个字符或者日期相加问题?
数据加载中...
 
   



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

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