[英]"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....
經典的不幸/錯誤,您顛倒了變量appAccess
和Set 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.