我使用Access运行时版本,我需要打开加密数据库.accdb
。我创建了一个虚拟文件来处理getobject
和opencurrentdatabase
语句。我无法使用CreateObject("Access.Application")
或new access.application
,因为这是运行时版本。
我的代码就是这样,并且工作正常但是当我打开加密数据库时UserControl
属性为false,并且它会在false和" docm中打开任何访问消息,如docm.setwarnings
。 setwarnings true"不起作用。
Option Compare Database
Dim appRT As Object
Public Sub OpenEncryptDb()
Const Q As String = """"
strPathEncryptDb = CurrentProject.Path & "\encryptdb.accdb"
strPathToDummy2 = CurrentProject.Path & "\dummy.accdb"
strPathToRuntime = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
Shell Q & strPathToRuntime & Q & " /RUNTIME " & Q & strPathToDummy2 & Q, vbNormalFocus
Set appRT = GetObject(strPathToDummy2)
With appRT
.CloseCurrentDatabase
.OpenCurrentDatabase strPathEncryptDb, False, "123456" 'open encrypt database
.DoCmd.RunCommand acCmdAppMaximize
End With
End Sub
我在此链接中分享了代码 https://1drv.ms/u/s!AsgXxStf7QGagQZIk8hcJShbCIye
首先打开master.accdb文件。请注意,当您打开最终文件" encryptdb.accdb"时,您可以删除行,并且您不会收到在MS-Access中删除行时经常收到的任何确认消息,例如&#34 ; master.accdb"