| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 219 人关注过本帖
标题:请教关于替换问题
只看楼主 加入收藏
反璞归真
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2017-5-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请教关于替换问题
座号贴.rar (225 Bytes)

我对vfp不熟悉请大师们指点:如何将kmdm字段中的01替换成思想政治,02替换成语文,03替换成数学,05替换成物理,11替换成外语(英语)。谢谢
搜索更多相关主题的帖子: 思想 替换 物理 英语 数学 
2025-01-04 18:07
sxcl7899
Rank: 2
等 级:论坛游民
帖 子:5
专家分:24
注 册:2022-6-30
收藏
得分:20 
虽然搞不清你想要做什么,个人感觉你应该先建立一个【课程代码表】供其他表使用,至少两个字段,一个是kmdm(课程代码),一个是kmmc(课程名称),把上面代码和课程输进去;然后再根据课程代码表来替换【座号贴】表。
把课程代码表建好后,针对你上面的【座号贴】表使用
UPDATE 座号贴 SET kmdm=(select kmmc from 课程代码表 WHERE kmdm=座号贴.kmdm)
来替换。
前提是你的【座号贴】表表里面的kmdm字段长度修改一下,改为8以上。

[此贴子已经被作者于2025-1-4 19:02编辑过]

2025-01-04 18:40
反璞归真
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2017-5-17
收藏
得分:0 
回复 2楼 sxcl7899
谢谢指导!十分感谢
2025-01-04 19:00
chychychy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:336
专家分:120
注 册:2015-4-18
收藏
得分:0 
程序代码:
*01替换成思想政治,02替换成语文,03替换成数学,05替换成物理,11替换成外语(英语)
*只有一个字符型字段,且字段宽带为2,无法在原表替换,而且用原表替换也不符合数据安全,结果写入临时表tmp,也可以改为dbf表
SELECT *,SPACE(12) kmmc FROM 座号贴 INTO CURSOR tmp READWRITE &&临时表tmp
SCAN
    DO CASE
    CASE kmdm='01'
        REPLACE kmmc WITH '思想政治'
    CASE kmdm='02'
        REPLACE kmmc WITH '语文'
    CASE kmdm='03'
        REPLACE kmmc WITH '数学'
    CASE kmdm='05'
        REPLACE kmmc WITH '物理'
    CASE kmdm='11'
        REPLACE kmmc WITH '外语(英语)'
    ENDCASE
ENDSCAN
GO TOP
BROWSE &&查看tmp临时表情况
SELECT kmdm,kmmc,COUNT(*) 计数 FROM tmp GROUP BY 1,2 &&查看计数情况

*或者用12月28日帖子中schtg回复的语句,他这个速度快
SELECT *,SPACE(12) kmmc FROM 座号贴 INTO CURSOR tmp READWRITE &&临时表tmp
BROWSE 
UPDATE tmp SET kmmc = ICASE(ALLTRIM(kmdm)=="01","思想政治",;
                            ALLTRIM(kmdm)=="02","语文",;
                            ALLTRIM(kmdm)=="03","数学",;
                            ALLTRIM(kmdm)=="05","物理",;
                            ALLTRIM(kmdm)=="11","外语(英语)")
GO TOP
BROWSE &&查看tmp临时表情况
SELECT kmdm,kmmc,COUNT(*) 计数 FROM tmp GROUP BY 1,2 &&查看计数情况

课程代码表.rar (213 Bytes)

涉及大量数据,比较好的方式是按二楼说的,提前建立维护好“课程代码表”,需要的时候
SELECT *,SPACE(12) kmmc FROM 座号贴 INTO CURSOR tmp READWRITE &&临时表tmp
UPDATE tmp from 课程代码表 as b SET kmmc=b.kmmc WHERE tmp.kmdm=b.kmdm




[此贴子已经被作者于2025-1-6 14:32编辑过]

2025-01-06 14:03
快速回复:请教关于替换问题
数据加载中...
 
   



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

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