我继承了MS Access项目,我正在尝试对某些表单进行更改。但是,当我在MS Access 2016中打开文件时,我无法看到导航菜单,顶部功能区或编辑设计以进行任何更改。我搜索过有几种方法可以绕过这一点,但也发现开发人员可以禁止它们中的每一种。如果每个人都可以被禁止,那么另一个开发者将如何做出改变呢?
以下是我的尝试:
我有没有其他方法可以查看此访问数据库上的编辑,导航,功能区菜单,以便我可以对其进行更改?
答案 0 :(得分:1)
是的,您可以轻松绕过这样的"安全"使用OLE自动化的措施。
使用其他Access数据库(或VBA应用程序)中的以下代码
Public Sub UnlockAccess()
Dim pathToFile As String
pathToFile = "C:\Path\To\My\File.accdb"
Dim db As DAO.Database
Set db = DBEngine.OpenDatabase(pathToFile)
'Set some restrictive properties back to normal
On Error Resume Next
db.Properties!StartUpShowStatusBar = True
db.Properties!AllowFullMenus = True
db.Properties!AllowShortcutMenus = True
db.Properties!AllowBuiltInToolbars = True
db.Properties!AllowSpecialKeys = True
db.Properties!AllowToolbarChanges = True
db.Properties!AllowByPassKey = True
db.Close
On Error GoTo 0
Stop 'You can open up the database using the shift bypass key here, and enable whatever you want'
Dim app As New Access.Application
app.OpenCurrentDatabase pathToFile
app.Visible = True
app.UserControl = True
app.DoCmd.SelectObject acTable, , True
End Sub
修改安全性的另一种方法是修改限制性VBA代码。如果您无法直接从文件中打开编辑器,则可以打开另一个文件,设置对要修改的文件的引用,然后从那里进行修改。