如何操作MS Access VBA中的对象

时间:2017-08-03 14:33:57

标签: excel excel-vba object iteration vba

我遇到了问题。第一次迭代正确进行,但第二次迭代在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
你能帮助我吗?

2 个答案:

答案 0 :(得分:0)

我今天无法复制这个问题,尽管过去一直没有。

尝试:

Application.RefreshDatabaseWindow

DoCmd.SelectObject acTable, "temp_table", True

答案 1 :(得分:0)

好的,我明白了。我需要在导入数据和设置指针(tdf)的命令之间插入'db.TableDefs.Refresh'。我还必须唯一地调用临时表,所以'temp_table1','temp_table2'等现在正常工作。