回 帖 发 新 帖 刷新版面

主题:利用表修改另一个表的问题

各位老师,有两个表,第一个有字段姓名,标记等,第2个表有姓名等,
我修改第1个表后要根据标记自动修改第2个表的姓名;比如要把标记为31的记录的姓名先到表2中判断,如果没有就添加,表2中的姓名如果在表1中对应的标记不是31则删除,怎样比较简单的实现

回复列表 (共5个回复)

沙发

看一下这段代码,
sele 1
use c:\aaa\ren
sele 2
use c:\aaa\hyy excl
sele 1
scan all for 计算方法="41"
 name=姓名
  sele 2
  locate for 姓名=name 
  if found()=.f.
  append blank
   replace 姓名 with name
  endif
endscan
sele 2
go top
do while .not. eof() 
name=姓名
sele 1

locate for 姓名=name .and. 计算方法="41"
if found()=.f.
sele 2
  wait
dele 
else 
sele 2
endif
skip
endd
pack 
use

板凳


代码第2部分有错,哪位老师看下,表2中的姓名在表1中对照,不是41则删除

3 楼

怎么没人回答呀

4 楼

对啊!你看的很仔细,

5 楼

应该尽量避免出现这样的事情,用一句专业术语说就是你的表的设计出现了"冗余"和"不同步"

比如把第一个表作为主表,第二个表中就不要再有"姓名"字段了,可以在主表中添加一个ID字段,在第二个表中用ID字段来代替姓名字段,这样就不存在不同步的问题了

我来回复

您尚未登录,请登录后再回复。点此登录或注册