注册 登录
编程论坛 VFP论坛

各位老师:如何实现用A编号 更新B库编号 ?感谢帮助!!

小主板 发布于 2021-03-21 22:44, 2428 次点击
各位老师:如何实现用A编号 更新B库编号 ?感谢帮助!!

A:为基准库,B:为临时库。

B库同一姓名会出现多次,我想用A库的编号,更新B库的编号。  期待各位老师的帮助。

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




只有本站会员才能查看附件,请 登录
11 回复
#2
小主板2021-03-21 22:53
只有本站会员才能查看附件,请 登录
      
只有本站会员才能查看附件,请 登录
#3
schtg2021-03-22 06:00
试一试
update B set B.编号=A.编号 from A,B where alltrim(B.姓名)==alltrim(A.姓名)  && 姓名必须唯一
#4
小主板2021-03-22 06:37
@schtg  老师,执行命令后,B库没有更新编号,您受累帮我看看可以吗?
#5
yafengliang2021-03-22 08:56
你用的版本是vfp9.0以下吧?
试试下面

Use a
Scan
    Update b Set 编号 = a.编号 Where Alltrim(姓名) = Alltrim(a.姓名)        &&姓名须唯一
EndScan
#6
wengjl2021-03-22 09:19
程序代码:
    CLOSE DATABASES
    SELECT 0
    USE A
    SELECT 0
    USE B
    SCAN
      SELECT A
      LOCATE FOR A.姓名==B.姓名
      IF FOUND()
        REPLACE B.编号 WITH A.编号
      ENDIF
      SELECT B
    ENDSCAN
#7
sdta2021-03-22 11:58
程序代码:
CREATE CURSOR a1 (序号 n(1), 姓名 c(10), 编号 n(1))
INSERT INTO a1 VALUES (1, "a1", 1)
INSERT INTO a1 VALUES (2, "a2", 2)
INSERT INTO a1 VALUES (3, "a3", 3)
INSERT INTO a1 VALUES (4, "a4", 4)
INSERT INTO a1 VALUES (5, "a5", 5)
CREATE CURSOR b1 (序号 n(1), 姓名 c(10), 编号 n(1))
INSERT INTO b1 VALUES (1, "a5", 0)
INSERT INTO b1 VALUES (2, "a2", 0)
INSERT INTO b1 VALUES (3, "a2", 0)
INSERT INTO b1 VALUES (4, "a2", 0)
INSERT INTO b1 VALUES (5, "a4", 0)
INSERT INTO b1 VALUES (6, "a4", 0)
INSERT INTO b1 VALUES (7, "a1", 0)
INSERT INTO b1 VALUES (8, "a1", 0)
INDEX on 姓名 TAG xm
SELECT a1
SET RELATION TO 姓名 INTO b1 && 姓名必须唯一
SET SKIP TO b1
REPLACE b1.编号 WITH a1.编号 ALL
SET RELATION TO
SET SKIP TO
SELECT b1
SET ORDER TO
BROWSE
#8
sdta2021-03-22 12:13
附件你们都能下载吗
#9
小主板2021-03-22 13:09
感谢@sdta、@wengjl、@yafengliang、@schtg等各位老师的帮助!!解决!!
#10
小主板2021-03-22 13:13
不好意思,附件我刚才试了一下,下载不了!
#11
sdta2021-03-22 13:41
可能是论坛出问题了
#12
sdta2021-03-22 19:55
现在可以下载附件了
1