主题:利用表修改另一个表的问题
larry123
[专家分:0] 发布于 2008-05-12 09:36:00
各位老师,有两个表,第一个有字段姓名,标记等,第2个表有姓名等,
我修改第1个表后要根据标记自动修改第2个表的姓名;比如要把标记为31的记录的姓名先到表2中判断,如果没有就添加,表2中的姓名如果在表1中对应的标记不是31则删除,怎样比较简单的实现
回复列表 (共5个回复)
沙发
larry123 [专家分:0] 发布于 2008-05-12 14:29:00
看一下这段代码,
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
板凳
larry123 [专家分:0] 发布于 2008-05-12 15:37:00
代码第2部分有错,哪位老师看下,表2中的姓名在表1中对照,不是41则删除
3 楼
larry123 [专家分:0] 发布于 2008-05-13 09:06:00
怎么没人回答呀
4 楼
LIUJIE7 [专家分:0] 发布于 2008-07-01 19:45:00
对啊!你看的很仔细,
5 楼
staa [专家分:3690] 发布于 2008-07-01 20:33:00
应该尽量避免出现这样的事情,用一句专业术语说就是你的表的设计出现了"冗余"和"不同步"
比如把第一个表作为主表,第二个表中就不要再有"姓名"字段了,可以在主表中添加一个ID字段,在第二个表中用ID字段来代替姓名字段,这样就不存在不同步的问题了
我来回复