Excel 如何操作MS Access VBA中的对象

Excel 如何操作MS Access VBA中的对象,excel,object,iteration,vba,Excel,Object,Iteration,Vba,我有个问题。第一次迭代正确,但第二次迭代在Set tdf=db.TableDefs(“temp_table”)处中断(Access无法找到“temp_table”,尽管它是在上面创建的一行)。新导入表的指针肯定有问题 dirfilename = Dir(strfilename & "\") Do While dirfilename <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeE

我有个问题。第一次迭代正确,但第二次迭代在
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
dirfilename=Dir(strfilename&“\”)
当文件名为“”时执行此操作
DoCmd.transfer电子表格导入,acSpreadsheetTypeExcel8,“临时表格”,
strfilename&“\”dirfilename,True
设置tdf=db.TableDefs(“临时表”)
.
.
.
.
db.TableDefs.Refresh
dirfilename=Dir
环

你们谁能帮助我

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

尝试:

Application.RefreshDatabaseWindow


DoCmd.SelectObject acTable,“temp_table”,True

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

尝试:

Application.RefreshDatabaseWindow


DoCmd.SelectObject acTable,“temp_table”,True

好的,我算出了。我需要在导入数据的命令和设置指针(tdf)之间插入'db.TableDefs.Refresh'。我还必须唯一地调用临时表,所以“temp\u table1”、“temp\u table2”等。现在它可以正常工作了。

好的,我已经解决了。我需要在导入数据的命令和设置指针(tdf)之间插入'db.TableDefs.Refresh'。我还必须唯一地调用临时表,以便“temp_table1”、“temp_table2”等。它现在可以正常工作。

后续迭代尝试将记录附加到第一次迭代中创建的表中,而不是创建新表。您正在尝试导入多个电子表格吗?为什么需要TableDefs?我正在尝试附加同一文件夹中连续工作簿中的数据(因此我放置了“dir”函数)。在第一次迭代之后,第二个“temp_表”(我忘了在帖子中粘贴删除前一个“temp_表”的摘录)仍然包含当代值,但它是一个新表。我删除了上一个。当然,我可以称它们为“temp_table2”等,但我担心问题仍然会发生,编程标准也不正确。就我个人而言,如果图纸结构从未改变,我不会创建和删除表。我只想插入和删除永久表的记录——尽管它被称为“临时”表,但表是永久的,记录是临时的。为什么要临时桌?这些记录会发生什么情况?问题是,工作表结构发生了变化(临时表的结构发生了变化),我设置临时表是为了在它们内部进行一些修改,以准备一个标准。如果结构没有变化,您可以插入值。但不幸的是,后续的迭代尝试将记录附加到第一次迭代中创建的表中,而不是创建新表。您正在尝试导入多个电子表格吗?为什么需要TableDefs?我正在尝试附加同一文件夹中连续工作簿中的数据(因此我放置了“dir”函数)。在第一次迭代之后,第二个“temp_表”(我忘了在帖子中粘贴删除前一个“temp_表”的摘录)仍然包含当代值,但它是一个新表。我删除了上一个。当然,我可以称它们为“temp_table2”等,但我担心问题仍然会发生,编程标准也不正确。就我个人而言,如果图纸结构从未改变,我不会创建和删除表。我只想插入和删除永久表的记录——尽管它被称为“临时”表,但表是永久的,记录是临时的。为什么要临时桌?这些记录会发生什么情况?问题是,工作表结构发生了变化(临时表的结构发生了变化),我设置临时表是为了在它们内部进行一些修改,以准备一个标准。如果结构没有变化,您可以插入值。但不幸的是,确实如此。