无法在MS Access DB中查看导航和功能区

时间:2018-05-16 01:59:53

标签: ms-access ms-access-2016

我继承了MS Access项目,我正在尝试对某些表单进行更改。但是,当我在MS Access 2016中打开文件时,我无法看到导航菜单,顶部功能区或编辑设计以进行任何更改。我搜索过有几种方法可以绕过这一点,但也发现开发人员可以禁止它们中的每一种。如果每个人都可以被禁止,那么另一个开发者将如何做出改变呢?

以下是我的尝试:

  • 按F11但没有显示
  • 双击文件时单击保持SHIFT,但没有显示任何内容
  • 按CTRL + G打开VBE但没有显示

我有没有其他方法可以查看此访问数据库上的编辑,导航,功能区菜单,以便我可以对其进行更改?

1 个答案:

答案 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代码。如果您无法直接从文件中打开编辑器,则可以打开另一个文件,设置对要修改的文件的引用,然后从那里进行修改。