| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3263 人关注过本帖
标题:成绩循环查找替换
只看楼主 加入收藏
hguyy
Rank: 2
等 级:论坛游民
帖 子:56
专家分:20
注 册:2016-1-25
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:12 
成绩循环查找替换
哪位大神帮我看看这段程序哪里有问题,我要查找满足条件的成绩并替换它,只能替换第一条没办法全部替换?
体育分数转换.rar (38.46 KB)
2016-03-18 00:05
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
t1a、t1b....是什么意思?
2016-03-18 00:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:3 
缺少循环语句,所以只能替换第一条记录
VFP9代码
UPDATE TY SET FS1=FS FROM PFK WHERE BETWEEN(CJ1,T1A,T1B) AND XB=PFK.XB
UPDATE TY SET FS2=FS FROM PFK WHERE BETWEEN(CJ2,T2A,T2B) AND XB=PFK.XB
UPDATE TY SET FS3=FS FROM PFK WHERE BETWEEN(CJ3,T3A,T3B) AND XB=PFK.XB

**********************
VFP6代码
USE PFK
SCAN
    UPDATE TY SET FS1=FS WHERE BETWEEN(CJ1,T1A,T1B) AND XB=PFK.XB
    UPDATE TY SET FS2=FS WHERE BETWEEN(CJ2,T2A,T2B) AND XB=PFK.XB
    UPDATE TY SET FS3=FS WHERE BETWEEN(CJ3,T3A,T3B) AND XB=PFK.XB
ENDSCAN

或者
USE PFK IN 0
USE TY IN 0
SELECT PFK
SCAN
    SELECT TY
    LOCATE FOR BETWEEN(CJ1,T1A,T1B) AND XB=PFK.XB
    IF FOUND()
        REPLACE ALL FS1 WITH PFK.FS
    ENDIF

    LOCATE FOR BETWEEN(CJ2,T2A,T2B) AND XB=PFK.XB
    IF FOUND()
        REPLACE ALL FS2 WITH PFK.FS
    ENDIF
    LOCATE FOR BETWEEN(CJ3,T3A,T3B) AND XB=PFK.XB
    IF FOUND()
        REPLACE ALL FS3 WITH PFK.FS
    ENDIF
ENDSCAN

坚守VFP最后的阵地
2016-03-18 01:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
REPLACE 命令后要加ALL

坚守VFP最后的阵地
2016-03-18 01:20
hguyy
Rank: 2
等 级:论坛游民
帖 子:56
专家分:20
注 册:2016-1-25
收藏
得分:0 
回复 3楼 sdta
不能运行,出错
2016-03-18 08:17
hguyy
Rank: 2
等 级:论坛游民
帖 子:56
专家分:20
注 册:2016-1-25
收藏
得分:0 
回复 4楼 sdta
加ALL之后无法算出分数,全部等于0
2016-03-18 08:17
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:3 
你的目的没明确,没说明你需要做什么!

写程序的时候,需要分层次!
if
    xxxxxx
else
    xxxxxx
endif

2016-03-18 08:29
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
以下是引用sdta在2016-3-18 01:20:19的发言:

REPLACE 命令后要加ALL



感觉,他的程序还需要有一个判断姓名+性别的吧!

2016-03-18 08:29
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
以下是引用hguyy在2016-3-18 08:17:42的发言:

加ALL之后无法算出分数,全部等于0



你给的判断条件得出的结果就是全部相等啊!你没判断姓名+性别吧?

2016-03-18 08:30
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
UPDATE TY SET FS1=FS FROM PFK WHERE BETWEEN(CJ1,T1A,T1B) AND TY.XB=PFK.XB
UPDATE TY SET FS2=FS FROM PFK WHERE BETWEEN(CJ2,T2A,T2B) AND TY.XB=PFK.XB
UPDATE TY SET FS3=FS FROM PFK WHERE BETWEEN(CJ3,T3A,T3B) AND TY.XB=PFK.XB
2016-03-18 09:31
快速回复:成绩循环查找替换
数据加载中...
 
   



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

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