2014-06-27 80 views
0

我剛在這臺電腦上安裝了新的Office 365 64位。 而一些用於正常工作的程序不再有效。我檢查了工具 - >引用沒有東西似乎丟失(MSACC.olb)被檢查。運行時錯誤2517 MS ACCESS 15(2013)

但是下面的函數現在產生錯誤2517.在「.run」部分。 Access DB中項目的名稱是HistAV,根據一些可用的幫助,該模塊不相關(我堅持使用此代碼,因爲它在Office 2010上工作)。

Function Get_Last_Load_Date() As Date 

    'Dim appAccess As Object 
    Dim appAccess As Access.Application 
    Dim accDBName, accDBPath, LocDir As Variant 
    Dim TempOut, AddrPath, DatabaseLoc As Variant 
    Dim VectDate As Long 
    Dim PIPtmp As Workbook 

    'Set appAccess = CreateObject("Access.Application") 
    Set appAccess = New Access.Application 

    Application.DisplayAlerts = False 

    TempOut = "_tmp_.xlsb" 

    LocDir = VBA.Mid(ThisWorkbook.Path, 1, 3) 

    DatabaseLoc = LocDir & "Asset_Controlling\Databases\AnalyticVectors.accdb" 

    AddrPath = ThisWorkbook.Path & "\" 


     With appAccess 
      .OpenCurrentDatabase DatabaseLoc 
      accDBPath = .CurrentProject.Path 
      accDBName = .CurrentProject.Name 
      'MsgBox .IsCompiled 
      '"HistAV.ModQry.LastDate" 
      .Run "HistAV.LastDate", AddrPath 
      .DoCmd.Quit acQuitSaveAll 
      '.CompactRepair accDBPath & "\" & accDBName, accDBPath & "\" & "CR_" & accDBName 
     End With 

    Set PIPtmp = Application.Workbooks.Open(AddrPath & TempOut) 

    Application.Calculation = xlCalculationManual 

    Get_Last_Load_Date = PIPtmp.Sheets("Lst_Load").Cells(2, 2) 



    PIPtmp.Close False 

    Kill AddrPath & TempOut 


    Application.Calculation = xlCalculationAutomatic 

    Set wsDest = Nothing 
    Set appAccess = Nothing 

    Application.DisplayAlerts = True 


End Function 

附加信息:我在讀解文檔: http://msdn.microsoft.com/en-us/library/office/ff193559(v=office.15).aspx

相關的要點是,該文件規定了使用:

「的Microsoft Access 12.0對象庫」,而我使用 「 Microsoft Access 15.0對象庫「

我下載了MS Access 2007(和MS Access 2010 64位)的運行時,兩者都安裝了沒有錯誤。但是,那些MSACC.olb,雖然我瀏覽選擇他們不檢查,甚至沒有列出的工具。因此在引用列表框中不可用(爲什麼這是正確的,這是通過Application.VBE.ActiveVBProject.References.AddFromFile「C:\ blahblahblah \ MSACC.OLB」解決的)。 任何想法或建議嗎?請!

+0

Wherre是否定義了HistAV.LastDate?該文檔指出運行方法在Office 2013中仍存在,因此不應該是問題。 –

+0

它在打開的數據庫(「AnalyticVectors.accdb」)中定義。它位於一個名爲「ModQry」的模塊中。我也嘗試了長期的HistAV.ModQry.LastDate,它曾經在早期的辦公室2010工作。 看起來似乎數據庫以MSACC.OLB的que版本15打開。在從12到15的任何版本中,錯誤是持久的。我也壓縮並修復了數據庫,但沒有... – Olmogorov

+0

嘗試完全限定該子/功能。 –

回答

0

我忘記了這個問題。該錯誤是另一個試圖編譯該項目的用戶的結果,並且存儲了編譯嘗試的「VBA跟蹤」。結果是「.run方法」未能執行。

謝謝!