主题: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
已测试通过!
							 
									
			
我来回复