注册 登录
编程论坛 VFP论坛

如何根据yzdm库中的信息在另一个库中字段wyyzdm中的1生成字段wyyzmc的英语,2生成俄语,3生成日语等,命令如何写,谢谢大师们

反璞归真 发布于 2025-05-14 17:28, 344 次点击
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
有语种代码表

[此贴子已经被作者于2025-5-14 17:33编辑过]

6 回复
#2
反璞归真2025-05-14 17:49
UPDATE all2025bmk SET all2025bmk.wyyzmc=yzdm.wyyzmc from yzdm WHERE all2025bmk.wyyzdm=yzdm.wyyzdm    执行命令后字段wyyzmc里面为空,不知道问题出在哪里,麻烦大师们指导一下



[此贴子已经被作者于2025-5-14 17:51编辑过]

#3
yiyanxiyin2025-05-14 18:44
UPDATE all2025bmk SET all2025bmk.wyyzmc=yzdm.wyyzmc from all2025bmk,yzdm WHERE all2025bmk.wyyzdm=yzdm.wyyzdm
#4
chychychy2025-05-14 23:24
vfp9.0下测试,下面代码,2楼原语句和3楼语句都可以,是否你两个dbf表字段格式不一致,比如表2wyyzmc不是文本,或字符宽度不够长?
程序代码:

CREATE CURSOR yzdm (wyyzdm c(2),wyyzmc c(8))
INSERT INTO yzdm VALUES ('1','英语')
INSERT INTO yzdm VALUES ('2','俄语')
INSERT INTO yzdm VALUES ('3','日语')
INSERT INTO yzdm VALUES ('4','德语')
INSERT INTO yzdm VALUES ('5','法语')
INSERT INTO yzdm VALUES ('6','西班牙语')
BROWSE

CREATE CURSOR all2025bmk (wyyzdm c(2),wyyzmc c(8))
FOR I=1 TO 10   
INSERT INTO all2025bmk (wyyzdm) VALUES  (TRANSFORM(I))   
*INSERT INTO tt (xh) VALUES (ALLTRIM(str(i)))
ENDFOR
BROWSE

UPDATE all2025bmk SET all2025bmk.wyyzmc=yzdm.wyyzmc from all2025bmk,yzdm WHERE all2025bmk.wyyzdm=yzdm.wyyzdm
*UPDATE all2025bmk SET all2025bmk.wyyzmc=yzdm.wyyzmc from yzdm WHERE all2025bmk.wyyzdm=yzdm.wyyzdm
SELECT all2025bmk
BROWSE
#5
schtg2025-05-15 07:01
看图示,好像同一语种需要几条记录,将4楼代码改了一下,勿笑
只有本站会员才能查看附件,请 登录

程序代码:
create cursor yzdm (wyyzdm c(2),wyyzmc c(8))
insert into yzdm values ('1','英语')
insert into yzdm values ('2','俄语')
insert into yzdm values ('3','日语')
insert into yzdm values ('4','德语')
insert into yzdm values ('5','法语')
insert into yzdm values ('6','西班牙语')

create cursor all2025bmk (wyyzdm c(2),wyyzmc c(8))
for i = 1 to 7     && 验证代码
    for j = 1 to 6 && 重复次数
        insert into all2025bmk (wyyzdm) values  (transform(i))   
    endfor
endfor
update all2025bmk set all2025bmk.wyyzmc = yzdm.wyyzmc from all2025bmk,yzdm where val(all2025bmk.wyyzdm) = val(yzdm.wyyzdm)
select all2025bmk
browse


也可以直接赋值
程序代码:
create cursor all2025bmk (wyyzdm c(2),wyyzmc c(8))
for i = 1 to 7     && 验证代码
    for j = 1 to 6 && 重复次数
        insert into all2025bmk (wyyzdm) values(transform(i))   
    endfor
endfor

update all2025bmk set wyyzmc = ICASE(VAL(wyyzdm) = 0,"不考外语",;
                                     VAL(wyyzdm) = 1,"英语",;
                                     VAL(wyyzdm) = 2,"俄语",;
                                     VAL(wyyzdm) = 3,"日语",;
                                     VAL(wyyzdm) = 4,"德语",;
                                     VAL(wyyzdm) = 5,"法语",;
                                     VAL(wyyzdm) = 6,"西班牙语",;
                                     "")
browse



[此贴子已经被作者于2025-5-15 07:16编辑过]

#6
chychychy2025-05-16 08:08
回复 5楼 schtg
我感觉直接赋值好,学习了
#7
wengjl2025-05-16 09:20

我的解决方法见附件

只有本站会员才能查看附件,请 登录
1