使用VBA使用另一个表中的值更新访问表

时间:2016-03-08 10:22:24

标签: ms-access access-vba

我在数据库中有两个表,表1和表2。 我正在尝试使用基于表2中数据的VBA代码更新表1。

示例:

表1

PartNo  Price  Description
--------------------------
A      100    
B      200      Bad
C      300

表2

PartNo  Price  Description
--------------------------
A        700
B        200      Good
D        900      Used

更新后,应使用table1 PartNo = table 2 PartNo更改的那些价格或描述更新table1,并添加表2中存在的任何新项目。

表1

PartNo  Price  Description
--------------------------
A      700
B      200      Good
C      300
D      900      Used

我似乎无法做到这一点,感谢帮助。

1 个答案:

答案 0 :(得分:4)

你可以使用两个语句,一个更新和一个这样的插入:

更新

UPDATE Table1 
INNER JOIN table2 
 ON(table1.partNo = table2.PartNo)
SET table1.price = table2.price,
    table1.description = table2.description

然后插入:

INSERT INTO table1 (PartNo,Price,Description)
SELECT PartNo,Price,Description FROM table2 t
WHERE NOT EXISTS(SELECT 1 FROM table1 s
                 WHERE t.PartNo = s.PartNo)