Office中国论坛/Access中国论坛

标题: 更新查询:多条件成立后对重复数据? [打印本页]

作者: kuiblue    时间: 2016-8-12 11:03
标题: 更新查询:多条件成立后对重复数据?
本帖最后由 kuiblue 于 2016-8-12 11:21 编辑

各位老师好!问题如下,详见附件[attach]59757[/attach] 谢谢![attach]59760[/attach]
[attach]59759[/attach]

作者: roych    时间: 2016-8-12 11:03
这个。。。。额,楼主还是先去学学怎么设计表字段再说吧。
查询条件里出现重复值(第1条、第3条和第5条,第2条和第4条)的时候,会按顺序来完成更新查询的。
以花冠为例,
第一次会先把所有符合花冠,请款日为2016年1月1日,排量为1.6L的更新为“返利1
不过这不是还没完吗?记录顺序排下来,然后发现第3条又符合条件,所以再更新成“返利3”……如果还有重复的话,会继续更新,直到符合最后一条符合要求的记录……所以就返回“返利5”咯。

还需要解释吗?如果需要的话,我也不解释了,自己好好看看下附件,体会下为什么这样做。
如果还有时间的话,不妨在论坛搜索下“表规范”再说,精简版可以看看“浅谈范式”。
[attach]59761[/attach]



作者: tmtony    时间: 2016-8-12 11:46
我习惯用代码。
用DAO 或ADO循环 更新

应该也可以用更新查询,2表之间用对应的字段(3个字段) 关联后,再用更新查询 更新指定的字段
作者: roych    时间: 2016-8-12 12:09
tmtony 发表于 2016-8-12 11:46
我习惯用代码。
用DAO 或ADO循环 更新

站长别误导新手这三个字段得到的是一个重复的记录,根本没法判断。ADO根DAO都一样。而且,新手一开始就膜拜代码,后面危害极大。
而这个例子明明就是基础不扎实,表设计连外键都不设置,就开始做查询了……



作者: kuiblue    时间: 2016-8-12 12:23
附件再次上载
作者: kuiblue    时间: 2016-8-12 12:35
@roych 非常感谢您的建议和指点!如果我想得到上面的效果有没有其它办法改进,谢谢。
作者: roych    时间: 2016-8-12 13:22
像站长说的ADO或者DAO,要完成上面的工作,从理论上来讲不是不可以,但是流程上相当复杂。
1、设置一个是否字段,用于后期更新条件记录集。打开条件记录集,设置字段为false。
2、读取条件记录集的第一条记录。
3、打开查询记录集,逐条查找,直到出现第一条符合条件的记录,更新。
4、执行3,直到出现第一条不符合条件的记录。
5、跳出循环。移动查询记录集到第一条。
6、更新条件记录集的第一条的是否字段为true。关闭条件记录集。
7、重复1-6。
其它的不想说了。。。。别再问我有没有什么办法。
作者: roych    时间: 2016-8-12 13:42
kuiblue 发表于 2016-8-12 12:35
@roych 非常感谢您的建议和指点!如果我想得到上面的效果有没有其它办法改进,谢谢。

有的。。。我突然想到了,用excel下拉就好了。
作者: kuiblue    时间: 2016-8-12 13:50
roych 发表于 2016-8-12 13:42
有的。。。我突然想到了,用excel下拉就好了。

@roych 谢谢你的回答!
我基础太差了,先学习你推荐的内容,谢了!




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