【发布时间】:2014-06-11 14:46:38
【问题描述】:
所以我有一个 VBA 代码,它将 Excel 工作表作为新表导入 Access,从现有表中删除数据,然后使用 SQL INSERT 函数将数据从新表移动到现有表中以保留存在的关系。我有 3 张桌子,但由于某种原因,其中只有一张无法正常工作。代码似乎执行没有错误,但是当我打开表时没有数据。导入的表与我要插入的表在所有字段中具有相同的列名和相同的数据类型。有谁知道为什么只有一个表没有正确导入?下面是我正在使用的代码,而零件号是不起作用的:
SQL = "INSERT INTO [Reps] SELECT RepsX.* FROM RepsX;"
CurrentDb.Execute SQL
SQL = "INSERT INTO [Part Number] SELECT PartNumberX.* FROM PartNumberX;"
CurrentDb.Execute SQL
SQL = "INSERT INTO [Supplier link] SELECT SupplierLinkX.* FROM SupplierLinkX;"
CurrentDb.Execute SQL
我觉得这有点小,但我花了我一天的大部分时间试图弄清楚...
【问题讨论】:
-
PartNumberX 中的数据是什么样的?列是什么?
-
我有 3 个数字列和 10 个文本列,它与 [Part Number] 表完全匹配,包括列上的名称。
-
“SELECT SupplierLinkX.* FROM SupplierLinkX;”的结果是什么?另外,[供应商链接]是正确的表名,还是应该是[供应商链接](这将与您的其他表名更加一致。
-
它给了我一份 SupplierLinkX 表的精确副本。实际上,运行直接选择查询: SELECT PartNumberX.* FROM PartNumberX;返回所有正确的数据。所以我的猜测是 INSERT 函数要求我没有遵循一个规则,我只是不知道它是什么。
标签: sql excel vba ms-access ms-access-2007