回 帖 发 新 帖 刷新版面

主题:vfp中如何将表1中的代码根据表2的内容换成汉字


有两个表 
表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个回复)

沙发

以下代码放到一个.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

板凳

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 楼

select 表2.xm,表2.xb,表1.zymc as zydm where 表1.zydm=表2.zydm from 表1,表2 into table 新表2

4 楼

USE 表1 IN 0
USE 表2 IN 0
update 表2 set zydm=表1.zymc from 表1 where 表2.zydm=表1.zydm

已测试通过!

我来回复

您尚未登录,请登录后再回复。点此登录或注册