如何在vf程序中用表啊啊A更新表B,急急急急急急急急急急急

skttyy 2002-11-15 09:12:11
假设AA表有两个子段 a 和 b,BB表有两个字段a 和 c,如何用表A的字段 b 来更新B表的字段c 其中A表和B表的a字段内容相同。
...全文
89 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjame 2002-11-26
  • 打赏
  • 举报
回复
用触发器应该是最方便的了。enlic_jean(咸鱼) 说得对,
vongates968 2002-11-15
  • 打赏
  • 举报
回复
當然是建立關聯的呀,只要建立關聯后就可以用SQL來寫的呀!!

用REPLACE 或 UPDATA,都是可以的
skttyy 2002-11-15
  • 打赏
  • 举报
回复
谢谢你的回答,不过你没有懂我的意思,我的意思是当AA表和BB表的a字段的值相等于时候,用AA表的b字段的值来更新BB表的c字段的值
enlic_jean 2002-11-15
  • 打赏
  • 举报
回复
在A表中的b字段在UPDATE添加觸發器,當b字段提交時更新B表的c字段.
jackson 2002-11-15
  • 打赏
  • 举报
回复
我记得在vfp中有一章是介绍的关联什么什么性的(我忘记了)对它进行设置就行了,它会按照你的要求当你修改aa表是它会按照你的设置就会自动的修改bb表中的信息
skttyy 2002-11-15
  • 打赏
  • 举报
回复
谢谢楼上的,我也觉得建立关系要好一些,可是我在建立关系的时候出错,提示是循环关系,我无法解决,
按照你写的语句来运行程序,结果还是只能更新第一条记录!!急啊,能不能给我讲解的仔细一点!!
liuri璇玑 2002-11-15
  • 打赏
  • 举报
回复
如果可以建关联,我觉得关联的应该比循环的效率高些
bootdelay 2002-11-15
  • 打赏
  • 举报
回复
go top
do while not eof()
locate for (densk.wjdm=dataup.wjdm)
if found()

replace densk.sphm with dataup.sphm for densk.wjdm=dataup.wjdm in 1
continue
endif
enddo
liuri璇玑 2002-11-15
  • 打赏
  • 举报
回复
sele dataup
index on wjdm tag wjdm &&没有索引的话,且表独占打开
set order to wjdm
sele densk
set relation to wjdm into dataup addi
replace all densk.sphm with dataup.sphm

BTW:斑主们整点FAQ吧,这个问题我至少看到不下十次:(
ygn111 2002-11-15
  • 打赏
  • 举报
回复
楼上的朋友这个问题我可以告诉你的
只要你在replace 后加上all 就可以了
skttyy 2002-11-15
  • 打赏
  • 举报
回复
谢谢楼上的
比如,我写的语句是:
locate for (densk.wjdm=dataup.wjdm)
if found()

replace densk.sphm with dataup.sphm for densk.wjdm=dataup.wjdm in 1
continue
endif
可是只能更新第一条记录,后面的就不能更新了,这是为啥?

2,748

社区成员

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

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