打开Access时出现“运行时错误91”
所以我的代码是closures它创build一个数据库的副本,复制一个新的名称,然后重新打开原来的:
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
现在我知道文件path是正确的,因为它发现它第一次closures它。 我收到的错误是:
运行时错误91,对象variables或未设置块variables。
但是在closures和复制数据库过程中,我无法确定哪个variables正常工作。 运行办公室和Excel 2010,如果它有所作为
错误显示在行上
appAccess.OpenCurrentDatabase....
经典的意外/错误,你倒了你的variablesappAccess
的名称和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
- Excel.Application对象.Quit使EXCEL.EXE运行
- Access中的“用户”选项为Excel源数据select唯一的文件path
- 通过图表名称将多个工作表从Excel文件导入到多个表中
- lockingAccess表以防止在某些时候写入
- 在Acces中通过VBA运行Excelmacros
- 错误2147217904从Excel中查询Access时,没有给出一个或多个必需参数的值
- Access-VBA检查打开的Excel工作簿中的单元格是否为空,然后复制该行
- VBA Excel ADODB预先载入现金数据集以更快速地查询一个大的Access数据集500000行
- 从Access表中selectID是一个string