簡體   English   中英

打開 Access 時出現“運行時錯誤 91”

[英]"Runtime error 91" when opening Access

所以我的代碼是通過關閉數據庫創建一個副本,用新名稱復制它,然后重新打開原來的:

 Global appAccess As Object
 Sub Auto_Open()

 Dim OtherDB As Object

 sOther = "E:\6thFormExamples\"

 sName = "ActualDB.accdb"

 sFullPath = sOther & sName
 Set OtherDB = GetObject(sFullPath)
 OtherDB.Application.Quit

 sNewName = Format(Date, "d-mmmm-yyyy")
 Dim fso As Object
 Set fso = VBA.CreateObject("Scripting.FileSystemObject")

 Call fso.CopyFile(sFullPath, sOther & "Backup" & sNewName & ".accdb", True)

 'Reopen DB

  Set accessApp = CreateObject("Access.Application")
  accessApp.Visible = True

  appAccess.OpenCurrentDatabase ("E:\6thFormExamples\ActualDB.accdb")
 'Application.Quit

 End Sub

現在我知道文件路徑是正確的,因為它發現它第一次關閉它。 我收到的錯誤是:

運行時錯誤 91,未設置對象變量或塊變量。

但我無法確定哪個變量在關閉和復制數據庫期間可以正常工作。 運行 Office 和 Excel 2010(如果有區別)

在線出現錯誤

appAccess.OpenCurrentDatabase....

經典的不幸/錯誤,您顛倒了變量appAccessSet accessApp

順便說一句,如果您已經有一個 Access 實例已經打開,或者為了避免有多個實例,您應該使用:

    'Reopen DB
On Error Resume Next
Set appAccess = GetObject(, "Access.Application")
If Err.Number <> 0 Then
    Set appAccess = CreateObject("Access.Application")
End If
On Error GoTo 0

On Error Resume Next    

      appAccess.Visible = True
      appAccess.OpenCurrentDatabase ("E:\6thFormExamples\ActualDB.accdb")
     'Application.Quit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM