Office中国论坛/Access中国论坛

标题: 一对多查询的连接主键更新的问题 [打印本页]

作者: liwen    时间: 2007-12-15 13:13
标题: 一对多查询的连接主键更新的问题
在一对多查询的连接主键进行更新时会提示写入冲突,这样的情况应该如何处理呢?

在附件中我的尝试都不行,程序运行不够流畅.(加工图品号的更改)

[ 本帖最后由 liwen 于 2007-12-15 13:18 编辑 ]
作者: liwen    时间: 2007-12-15 15:20
窗体中的加工图品号的更改
作者: liwen    时间: 2007-12-15 15:42
问题是如何去掉这个提示
作者: Victor_Duane    时间: 2007-12-15 15:54
现状处理:
方法1。在你的两表的关系上建立级联更新相关字段
方法二。比较笨,先把关系去掉手工修改
长远设计:对于有意义的字段,一般不考虑为主键,以免发生今后要修改将会很被动
而采用一个没有意义的字段做为两表的连接关系的字段
作者: liwen    时间: 2007-12-15 16:05
标题: 回复 6# 的帖子
1。本身两表是有级联更新
2。查询的建立是为了能够同时修改一对多的一方和多方的一条记录
作者: Victor_Duane    时间: 2007-12-15 16:06
可以做一个主表的窗体,在主表中修改了连接的数据,子表数据也会相应的由系统修改
作者: liwen    时间: 2007-12-15 16:13
如果单独修改这个一对多的一方,设置级联更新就行了。象这样要能同时修改多方就会弹出提示,需要选择保存修改就会保存,如何不弹出这个窗口,而直接默认保存呢?
作者: liwen    时间: 2007-12-15 16:18
如果单独修改这个一对多的一方,设置级联更新就行了。象这样要能同时修改多方,如果修改了那个相关的主键(加工图品号)就会弹出提示,需要选择保存修改就会保存,如何不弹出这个窗口,而直接默认保存呢?(而不修改加工图品号,保存也是正常的,不会弹出提示)
作者: liwen    时间: 2007-12-15 16:23
如果做成主子窗体,那么在这个窗体中记录的跳转就会有问题,如同一个加工图品号有几个设计图品号1,2等号,这样在这一个窗体中就可以从设计图品号1跳到2,接着跳到另一个加工图品号的相关设计图品号中,而不用在主子窗体中来回变换。
作者: liwen    时间: 2007-12-15 16:32
本身设定的是:窗体成长为当前时用一个公用变量SPno保存当前的品号
更新前使用语句更新相关的两个表,然后用Sendkeys "{ESC}"取消修改,但这样程序流程好象衍接的有问题,感觉不流畅。
后加一句为更新后,再次赋值SPno为当前窗体的品号的值
(在例子中,为了大家能看到问题,我注销了那些语句)
现在想的是如何达到这样的功能,而程序的运行又感觉流畅。
作者: goto2008    时间: 2007-12-15 19:19
帮大哥顶一下。。。。
作者: t小宝    时间: 2007-12-15 21:39
提供一种解决办法:
添加一个临时的图品号文本框,隐藏或删除绑定的图品号文本框
在窗体成为当前事件中用代码使临时图品号文本框=图品号文本框字段值
在临时图品号文本框的更新后事件中用代码直接更新主表的图品号字段(不用理子表),再刷新窗体.
[attach]27279[/attach]
作者: liwen    时间: 2007-12-21 14:33
t小宝的这种做法表面上执行没什么问题,但如果在编辑完成之前想撤消,还得加不少代码.
作者: t小宝    时间: 2007-12-21 15:36
确实是个问题...
ACCESS就是这样,保存后的记录都还可以撤消,感觉这也太人性化了
所以很多人都不喜欢采用绑定窗体来编辑记录
作者: arik    时间: 2008-1-10 19:39
为什么我创建的不是一对多呢
作者: lxing20    时间: 2009-4-13 00:03
很怪,也许你重做一个就可能解决了。找不出问题。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3