【发布时间】:2017-08-03 14:33:57
【问题描述】:
我有一个问题。第一次迭代正确,但第二次在Set tdf = db.TableDefs("temp_table") 中断(尽管在上面创建了一行,但访问找不到“temp_table”)。肯定是新导入表的指针有问题。
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?
-
我正在尝试从位于同一文件夹中的连续工作簿中附加数据(因此我放置了“dir”函数)。第一次迭代后,第二个“temp_table”(我忘了在帖子中粘贴删除以前的“temp_table”的摘录)仍然包含当代值,但它是一个新表。我删除了之前的一个。当然,我可以称它们为“temp_table2”等,但我担心问题仍然存在,而且对于编程标准来说是不正确的。
-
就个人而言,如果工作表结构永远不会改变,我不会创建和删除表。我只想插入和删除永久表的记录——即使它被称为“临时”表,表是永久的,记录是临时的。为什么还要临时表?这些记录会发生什么?
-
问题是,工作表结构发生了变化(临时表的结构发生了变化),我设置了临时表以便在其中进行一些修改以准备一个标准。如果您只插入值是正确的结构没有改变。但不幸的是。
标签: excel object iteration vba