Access VBA想利用ADO执行SQL语句,将表一数据复制并更新部分字段后插入新的表中 ,该怎么做

Access VBA想利用ADO执行SQL语句,将表一数据复制并更新部分字段后插入新的表中
SQL = "insert into 登记历史(备件编码, 登记位置, 关联PU, 关联位, 状态, 更换原因, 登记时间, 班次, 经办人) select " & Table & ".备件编码, '" & ProductInfo(i, 9) & "', " & Table & ".关联PU, " & Table & ".关联位, " & Table & ".状态, '" & ProductInfo(i, 13) & "', '" & Now() & "', '" & CurrentShift & "', '" & User & "' from " & Table & " where " & Table & ".关联PU='" & ProductInfo(i, 0) & "'"
RPDataConnect.Execute SQL, RecordsAffected 
执行后RecordsAffected 为0,没有数据被插入,表中的数据是没问题的应该会有12条记录才对

查询的列名必须和前面插入的列名顺序名称一一对应

先看看拼接出来的SQL是什么,把后面select这段单独执行看看有没有数据

哪个字段对上了? 是字段名、个数、顺序要保持一致

img

INSERT INTO 登记历史 ( 备件编码, 登记位置, 关联PU, 关联位, 状态, 更换原因, 登记时间, 班次, 经办人 )
SELECT **备件编码, 登记位置, 关联PU, 关联位, 状态, 更换原因, 登记时间, 班次, 经办人**
FROM Block
WHERE (((Block.关联PU)="PUCWY2650F462204200001"));

如果确认sql没错且有数据库事物的话 开启自动提交就好了