【发布时间】:2021-11-27 21:25:17
【问题描述】:
我需要帮助才能使用 VBA 将数据从一个 Access 数据库复制到另一个数据库。这些表具有相同的布局,并且都有一个自动编号的主键字段。
我尝试了以下方法:
strSQL = "INSERT INTO [tbl_items] SELECT * FROM [tbl_items] IN 'C:\temp\itemsdb.mdb';"
CurrentDb.Execute (strSQL)
问题是,如果第一个数据库中的一个主键的值与第二个数据库中的一个相同,则不会复制该记录。 有什么想法吗?
【问题讨论】:
-
你想让数据库做什么?更新记录?为主键分配新值?还有什么?显然,不可能有两条主键相同的记录,这正是主键的用途。
-
我希望源数据库的主键值被忽略。由于目标中的 PK 是自动编号,因此应在此处(在目标中)设置键的值。因此,要回答您的问题,应为导入的记录分配一个新值。
-
那么,干脆不导入主键。列出您要在查询中导入的所有列,而不是使用包含主键的
SELECT * -
我想知道是否有更好的方法,而不是编写 60 个字段的选择来排除一个。
标签: vba ms-access-2010