| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1413 人关注过本帖
标题:问个字符或者日期相加问题?
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
FOR I=1 TO RN2
    SELECT TMP_CASH2
    GO I
    RQ=""
    BH=编号
    FOR J=1 TO RN
       SELECT TMP_CASH
        GO J
        IF 编号=BH AND 操作=1
           RQ=RQ+STR(YEAR(费用期间),4)+[/]+PADL(MONTH(费用期间),2,[0])++[ ;]
        ENDIF
    ENDFOR
    UPDATE TMP_CASH2 SET 交费备注=RQ WHERE 编号=BH
    RQ=""
ENDFOR   
是不是GO J不要的?
GO I 肯定是要的,
2015-04-12 18:27
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
用的是老掉牙的VFP6.0
2015-04-12 18:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用mywisdom88在2015-4-12 18:30:02的发言:

用的是老掉牙的VFP6.0

哈哈,SQL命令最后看走眼了,后面是INTO TABLE

坚守VFP最后的阵地
2015-04-12 18:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
思路第一步,还有一种方法,就是创建一个表,根据 编号 字段建立索引
汇总数据及日期合并放在一起处理

坚守VFP最后的阵地
2015-04-12 18:39
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 21楼 mywisdom88
GO J 也要,否则记录指针如何移动

坚守VFP最后的阵地
2015-04-12 18:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
通过这个表的数据处理示例,可以把数据表中的命令函数学个70%左右。处理的方法是多样的。就看楼主是否是有心人。

坚守VFP最后的阵地
2015-04-12 18:44
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
2015-04-12 18:52
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 


*clear all
*Set Collate To "MACHINE"
SELECT 编号,MAX(费用期间) 费用期间,SUM(费用合计) 合计,SUM(电费合计) 电费,SUM(水费合计) 水费,SUM(管理费) 管理费,SUM(滞纳金) 滞纳金,SUM(垃圾费) 垃圾费,1 AS 公用电费,交费,备注,""+SPACE(120) 交费备注,ID16 ;
       FROM TMP_CASH WHERE 操作=1 GROUP BY 编号 INTO TABLE DATA\TMP_CASH2
      
select TMP_CASH2
index on 编号 to bh

select TMP_CASH
set relation to 编号 into TMP_CASH2
scan
if tmp_cash.编号=TMP_CASH2.编号 AND 操作=1
    replace TMP_CASH2.交费备注 with TMP_CASH2.交费备注-","-dtoc(tmp_cash.费用期间)
ENDIF   
endscan
set relation to
select tmp_cash2
set index to
*replace all 内容 with substr(内容,2)
* 显示结果
browse
2015-04-12 18:52
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
改改后,出来了,
SCAN 才几行,怎么FOR 要这么多,效果1样啊
2015-04-12 18:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
关键之处在于两表建立了临时关系,也就是通过关键字段的连接。
如果数据量大的话,我的代码运行速度绝对比你的代码运行速度快。

坚守VFP最后的阵地
2015-04-12 19:09
快速回复:问个字符或者日期相加问题?
数据加载中...
 
   



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

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