从一个数据库表里面往另一个数据库表里面导入数据问题

rayhua 2013-11-05 08:46:01
我有一个数据库表 人员信息.dbf,另外有一个数据库表 报送.dbf,两个表的结构完全一样。报送.dbf数据库表里面有一个字段 bs,其中bs有1、2、3三种,其中1代表新增,2代表减少,3代表信息变更。我想实现的功能是将 报送.dbf里面的所有bs等于1的记录添加到 人员信息.dbf里,将 报送.dbf里面的所有bs等于2的记录从 人员信息.dbf里删除,将 报送.dbf里面的所有bs等于3的记录跟新 人员信息.dbf里的相应记录。记录之间通过字段“身份证号”识别。
我写的代码如下,但是没有实现我的功能,请高手指点:

_dwmc=thisform.combo1.value
_bdy=thisform.text1.value
_FILE = GETFILE('dbf')
IF TRIM(_FILE) == ''
CLOSE ALL
RETURN
ENDIF
RE = ;
MESSAGEBOX('从' + TRIM(_FILE) + '引入已处理的新增库,是否进行???',292,'数据引入信息窗口')
IF RE = 6
sele 4
use &_file
COPY TO ttemp.dbf
use
sele 3
use ttemp
_bdy1=bdy
use
if _bdy1=_bdy

sele 3
set filt to bs=2 or bs=3
do while !eof()
_xm=姓名
_sfzh=身份证号
sele 2
locate all for 姓名=_xm and 身份证号=_sfzh
if found()
dele
endif
skip
enddo
set filt to
sele 4
use
sele 3
use
sele 2
pack
APPEND FROM ttemp for bdy=_bdy.and.bs=1
APPEND FROM ttemp for bdy=_bdy.and.bs=3
RE = MESSAGEBOX('*** 数据已引入 ***',64,'信息窗口')
dele file ttemp.dbf
sele 1
use 单位信息
thisform.release

else
MESSAGEBOX('所选库中数据与要引入的月份不一致,请核实!',64,'信息窗口')
sele 1
thisform.release
endif
else
return
ENDIF


...全文
212 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rayhua 2013-11-07
  • 打赏
  • 举报
回复
对于bs=2和bs=3的人,需要身份证号和单位名称两个字段同时相等的人才在人员信息表里面删除,请问Delete From 人员信息 Where 身份证号 In (Select 身份证号 From 报送 Where 报送.bs=2 Or 报送.bs=3) 应该怎么修改?
十豆三 2013-11-07
  • 打赏
  • 举报
回复
Delete From 人员信息 Where 身份证号+单位名称 In (Select 身份证号+单位名称 From 报送 Where 报送.bs=2 Or 报送.bs=3)
十豆三 2013-11-06
  • 打赏
  • 举报
回复
引用 3 楼 rayhua 的回复:
我现在用的是VFP6.0,用不了语句怎么办?
*-- VFP6.0 用如下代码
Delete From 人员信息 Where 身份证号 In (Select 身份证号 From 报送 Where 报送.bs=2 Or 报送.bs=3)
Pack In 人员信息
Select 人员信息
Append From 报送 For bs=1 Or bs=3
rayhua 2013-11-06
  • 打赏
  • 举报
回复
我现在用的是VFP6.0,用不了语句怎么办?
十豆三 2013-11-06
  • 打赏
  • 举报
回复
*-- 两个表的结构完全一样,所以直接用如下语句,第一句需要 VFP9.0
Delete 人员信息 From 报送 Where 人员信息.身份证号=报送.身份证号 And (报送.bs=2 Or 报送.bs=3)
Pack In 人员信息
Insert Into 人员信息 Select * From 报送 Where 报送.bs=1 Or 报送.bs=3
lygcw9602 2013-11-05
  • 打赏
  • 举报
回复

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧