|
有两张表,一张表叫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表中。
请问为什么?如何解决?谢谢! |
|