Office中国论坛/Access中国论坛

标题: [求助]新手更新问题,多条记录顺序更新 [打印本页]

作者: 7upshd    时间: 2007-3-30 17:18
标题: [求助]新手更新问题,多条记录顺序更新
有两张表,一张表叫wage,用来记录所有员工的所有历史工资和最新工资记录(包括先前所有旧的和现在新的),子窗体内以ID降序排序;另一张表叫new_wage,只用来记录当前最新的工资记录。
现在,需要以工号为依据,对new_wage表的记录进行更新。也就是说,要将wage表内的多条记录更新到new_wage表内的单条记录上。语句如下:
DoCmd.RunSQL ("UPDATE wage INNER JOIN new_wage ON wage.工号 = new_wage.工号 SET new_wage.职称类别 = [wage].[职称类别], new_wage.任职年限 = [wage].[任职年限], new_wage.套改年限 = [wage].[套改年限], new_wage.薪级 = [wage].[薪级], new_wage.岗位工资 = [wage].[岗位工资], new_wage.薪级工资 = [wage].[薪级工资], new_wage.工资 = [wage].[工资], new_wage.年度 = [wage].[年度] WHERE [new_wage].[工号]='" & 工号 & "';")


问题是,测试了前7条记录,前3条记录能顺利更新,并将wage表中最后一条记录(也就是最新工资)更新到new_wage表中[子窗体内,将wage表记录按照ID降序排列]。但是,后四条记录更新后,却将第一条记录(最早的工资记录)更新到new_wage表中。

请问为什么?如何解决?谢谢!
作者: 7upshd    时间: 2007-3-30 17:31
wage表中有记录
ID 工号 姓名 职称类别 岗位工资 任职年限 套改年限 薪级 薪级工资 工资 标志 年度
1   101 AAA 副高级  930  8  33  32 767  1697  2007
258 101 AAA 副高级  930  9  34  33 799  1729  2008
259 101 AAA 副高级  930  10  35  34 834  1764  2009

要求更新new_wage表记录为
工号 姓名 职称类别 任职时间 任职年限 套改年限 薪级 岗位工资 薪级工资 工资 标志 年度
101 AAA 副高级  1999-12-01 10  35  34 930  834  1764  2009

问题是测试了7个数据记录,前3条记录,能够实现new_wage表记录更新成2009年度的记录了
而后四条记录new_wage表记录始终更新成2007年度的第一条记录



谢谢大家,怎么解决阿
作者: 7upshd    时间: 2007-3-30 19:44
问题已经解决~




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