首页 > 解决方案 > 使用涉及唯一字段的另一个表中的值插入表

问题描述

给我带来问题的领域是一个unique required叫做ItemNoon的领域tbl1。我想从中复制ItemNo字段值tbl2并将其添加到字段中,tbl1 ItemNo但添加D到字符串的末尾。所有ItemNo字段的格式为Text

tbl1目前看起来像:

ID   ItemNo   ItemDescription   ....
1    001      Epoxy resin       ....
2    002      Wood glue         ....

tbl2目前看起来像:

ID   ItemNo   ItemDescription   ....
1    001      Epoxy resin       ....
2    002      WD40              ....

预计tb1更新后的样子:

ID   ItemNo   ItemDescription   ....
1    001      Epoxy resin       ....
2    002      Wood glue         ....
3    001D     Epoxy resin       ....
4    002D     WD40              ....

也许是这样的:

CurrentDB.Execute "INSERT INTO tbl1 SELECT * FROM tbl2 ...."

我可以使用DAO以下方法完成任务,但想知道它是否也可以使用 SQL。

Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Set rs1 = CurrentDb.OpenRecordset("SELECT*FROM tbl1")
Set rs2 = CurrentDb.OpenRecordset("SELECT*FROM tbl2")

With rs2
.MoveFirst
Do Until rs2.EOF
rs1.AddNew
rs1.Fields("ItemNo").Value = rs2.Fields("ItemNo").Value & "D"
....
....
rs1.Edit
rs1.Update
rs2.MoveNext
Loop
End With
rs1.Close
Set rs1 = Nothing
rs2.Close
Set rs2 = Nothing

标签: sqlvbams-access

解决方案


嗯。. . 你似乎想要:

insert into tbl1 (itemNo, itemDescription)
    select itemNo & 'd', itemDescription
    from tbl2;

这假设id是自动分配的。


推荐阅读