我遇到了问题。第一次迭代正确进行,但第二次迭代在Set tdf = db.TableDefs("temp_table")
处中断(Access无法找到" 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
你能帮助我吗?
答案 0 :(得分:0)
我今天无法复制这个问题,尽管过去一直没有。
尝试:
Application.RefreshDatabaseWindow
或
DoCmd.SelectObject acTable, "temp_table", True
答案 1 :(得分:0)
好的,我明白了。我需要在导入数据和设置指针(tdf)的命令之间插入'db.TableDefs.Refresh'。我还必须唯一地调用临时表,所以'temp_table1','temp_table2'等现在正常工作。