主题:vfp中如何将表1中的代码根据表2的内容换成汉字
tian_hupo
[专家分:0] 发布于 2009-08-02 18:02:00
有两个表
表1如下
zydm zymc
01 应用韩语
02 商务英语
03 会计
……
表2如下
xm xb zydm
张三 男 01
李四 女 02
……
请问 如何在表2中,zydm替换成表1里面对应的汉字?
我用如下处理:
replace all 表2.zydm
with 表1.zymc for 表2.zydm=表1.zydm
或者
update 表2
set 表2.zydm=表2.zymc
where 表2.zydm=表1.zydm
都只能实现表1.zydm中第一个代号的替换,
即 只将表2中 zydm为01的替换了,其他都没有替换。
请问如何更改或者用别的办法?
回复列表 (共4个回复)
沙发
qjbzjp [专家分:8830] 发布于 2009-08-02 21:08:00
以下代码放到一个.PRG中运行:
USE 表2 in 0
USE 表1 in 0
SELECT 表2
scan
REPLACE zydm with dm(zydm)
ENDSCAN
FUNCTION dm
PARAMETERS x
SELECT 表1
LOCATE for ALLTRIM(zydm)=ALLTRIM(x)
RETURN zymc
ENDFUNC
板凳
sywzs [专家分:5650] 发布于 2009-08-03 05:10:00
USE 表1 IN 0
USE 表2 IN 0
SELECT 表2
INDEX on xm TO sy
GO top
DO WHILE !EOF()
SELECT 表1
LOCATE FOR zydm=ALLTRIM(表2.zydm)
SELECT 表2
REPLACE zydm WITH 表1.zymc
SKIP
ENDDO
3 楼
cqf8340 [专家分:1810] 发布于 2009-08-03 08:28:00
select 表2.xm,表2.xb,表1.zymc as zydm where 表1.zydm=表2.zydm from 表1,表2 into table 新表2
4 楼
hw2007name [专家分:4790] 发布于 2009-08-03 10:35:00
USE 表1 IN 0
USE 表2 IN 0
update 表2 set zydm=表1.zymc from 表1 where 表2.zydm=表1.zydm
已测试通过!
我来回复