我遇到了问题。第一次迭代正确,但第二次中断在Set tdf = db.TableDefs("temp_table")
(Access无法找到“temp_table”,虽然它在上面创建了一行)。新的导入表的指针肯定是错误的。如何操作MS Access中的对象VBA
dirfilename = Dir(strfilename & "\")
Do While dirfilename <> ""
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "temp_table",
strfilename & "\" & dirfilename, True
Set tdf = db.TableDefs("temp_table")
.
.
.
.
db.TableDefs.Refresh
dirfilename = Dir
Loop
任何你能帮助我吗?
后续迭代试图将记录附加到第一次迭代中创建的表,而不是创建新表。您是否尝试导入多个电子表格?为什么你需要TableDefs? – June7
我想追加来自连续工作簿的数据在同一个文件夹中(因此我放置了'dir'函数)。第一次迭代后,第二个“temp_table”(我忘了在帖子中粘贴删除以前的“temp_table”的摘录)仍然包含当代值,但它是一个新表。我删除了前一个。当然,我可以称它们为“temp_table2”等等,但恐怕问题仍然会出现,而且对于编程标准来说是不正确的。 –
就个人而言,如果工作表结构永不改变,我不会创建和删除表。我只是插入和删除永久表的记录 - 即使它被称为“临时”表,表是永久性的,记录是临时性的。为什么临时表呢?这些记录会发生什么? – June7