| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9006 人关注过本帖
标题:vf中如何用一张表去更新另一张vf表
只看楼主 加入收藏
tws222
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-10
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
vf中如何用一张表去更新另一张vf表
我有两张dbf表,a表为主表,b表为a表的一部分表(b表里的姓名、身份证等要素是a表里查询到的一部分),现在把b表中的内容完善好后更新到a表中,怎么操作啊?求高手帮助呀
搜索更多相关主题的帖子: 身份证 如何 姓名 
2016-09-20 21:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:4 
上传两个数据表,要求更新的内容是什么?

坚守VFP最后的阵地
2016-09-20 21:47
tws222
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-10
收藏
得分:0 
回复 2楼 sdta
就是一张a表里面包含姓名,身份证号,账号等信息,但是不是所有人都有身份证号和账号,现在把这些信息不全的人挑出了做了个b表,b表的信息完善后,现在想更新到a表里,这样所有人的信息都全面了
2016-09-20 21:53
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
以下是引用tws222在2016-9-20 21:53:06的发言:

就是一张a表里面包含姓名,身份证号,账号等信息,但是不是所有人都有身份证号和账号,现在把这些信息不全的人挑出了做了个b表,b表的信息完善后,现在想更新到a表里,这样所有人的信息都全面了
传上你数据,光说是说不清的
2016-09-21 07:34
ttlover7613
Rank: 2
等 级:论坛游民
威 望:2
帖 子:48
专家分:85
注 册:2016-8-29
收藏
得分:4 
select 0
use B表
select 0
use A表
index on 身份证 to sy
Select B表
go top
do while not eof()
Psfz=alltrim(身份证)   身份证字段
Pxm=alltrim(姓名)     姓名字段
Pzh=alltrim(账号)    账号字段
select A表
seek psfz
if found()
repla 身份证 with  psfz,姓名 with PXM,账号 with PZH
endif
select B表
skip
enddo
这样就可以。

[此贴子已经被作者于2016-9-21 09:23编辑过]

收到的鲜花
  • tlliqi2016-09-21 18:11 送鲜花  10朵   附言:鼓励
2016-09-21 08:23
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用ttlover7613在2016-9-21 08:23:32的发言:

select 0
use B表
select 0
use A表
index on 身份证 to sy
Select B表
go top
do while not eof()
Psfz=alltrim(身份证)   身份证字段
Pxm=alltrim(姓名)     姓名字段
Pzh=alltrim(账号)    账号字段
select A表
seek psfz
if found()
repla 身份证 with  psfz,姓名 with PXM,账号 withPZH
endif
select B表
skip
enddo
这样就可以。
看着可行

这PXM,账号  withPZH

应换为PXM,账号  with  PZH
2016-09-21 09:00
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:298
专家分:808
注 册:2012-6-15
收藏
得分:4 
SELECT 1
 USE 表A
  INDEX on sfzh TO sfzh
SELECT 2
  USE 表B
  GO TOP
 DO whil NOT EOF()
   msfzh=身份证   &&身份证号
   mxm=姓名       &&姓名
   mzh=账号       &&账号
 SELECT 1
   SEEK msfzh
    IF EOF()      &&如果表A中不存在,就新添加一条记录,并用B表中的各项值代换
     APPEND BLANK  
     REPLACE 身份证 WITH msfzh,姓名 WITH mxm,帐号 WITH mzh
    ELSE      &&如果A表中有记录
      IF LEN(ALLTRIM(姓名)=0     &&如果姓名为空,就用B表中有姓名值代换
       REPLACE 姓名 WITH mxm
      ENDIF
      IF LEN(ALLTRIM(帐号)=0    &&如果帐号为空,就用B表中有帐号值代换
       REPLACE 帐号 WITH mzh
      ENDIF
     ENDIF
    SELECT 2
     SKIP
   ENDDO
收到的鲜花
  • tlliqi2016-09-21 18:11 送鲜花  10朵   附言:鼓励

学习交流VFP,QQ:248561326。
2016-09-21 18:06
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
没那么麻烦,一条语句的事。
UPDATE tablea SET sfzh=tableb.sfzh,zhanghao=tableb.zhanghao from tableb WHERE tablea.工号=tableb.工号
不知道你的表中什么字段数据是唯一的,只好用 工号了,如果没有唯一的用组合条件也可以。

[此贴子已经被作者于2016-9-27 07:59编辑过]


dBase有人接盘了。
2016-09-27 07:57
kimhoo
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:37
注 册:2017-5-31
收藏
得分:0 
厉害
2021-08-14 23:28
kimhoo
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:37
注 册:2017-5-31
收藏
得分:0 
回复 8楼 xuminxz
学习了
2021-08-14 23:29
快速回复:vf中如何用一张表去更新另一张vf表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039163 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved