我们的 MS Access 2000 开发人员一年前离开了公司。我们需要在设计模式下打开他的应用程序才能进行修改。在按住 shift 键的同时双击 .mdb 文件不起作用。当我这样做时,开发人员工具栏会显示一秒钟,然后所有工具栏都会消失,并且应用程序会像用户看到的那样打开。没有工具栏显示,只有一个基本仪表板可见以运行应用程序。我尝试使用此处提到的密码恢复工具,但该工具说没有密码。有人能告诉我如何打开这个应用程序来修改代码吗?
3 回答
贝丝的回答对我自己和同事都有效。我已经从链接中复制了解决方案,以防链接失效。
“...要解锁 Access DB,如果您知道数据库的完整路径,您可以使用以下命令。
将以下函数复制到另一个数据库中的模块中并调用该函数。您需要将 strPath 设置为数据库的路径。”
Public Function ResetExternalDatabaseBypassKey _
(Optional tfAllow As Boolean = True)
'Name: ResetExternalDatabaseBypassKey (Function)
'Purpose: Sets AllowByPassKey to true in another Access Database
'Author: John Spencer UMBC-CHPDM
'Date: May 02, 2000, 12:08:19 PM
'*******************************************
Dim dbs As Database
Dim strPath As String
On Error GoTo ResetExternalDatabaseBypassKey_ERROR
strPath = "C:/MyDatabases/SomeDataBaseName.mdb"
Set dbs = DBEngine.Workspaces(0).OpenDatabase(strPath)
dbs.Properties("AllowByPassKey") = tfAllow
ResetExternalDatabaseBypassKey_ERROR:
Select Case Err.Number
Case 3270 'Property not found
MsgBox "Allow Bypass Key property does not exist " & _
"for the chosen database."
Case Else
MsgBox Err.Number & ": " & Err.Description
End Select
End Function
确保在没有启用此代码的情况下没有其他副本。
这是用来做这类事情的典型代码,SetByPass 有指令点击 Cntl-G 打开 VBA 编辑器并运行代码来取消设置这个东西。
您是否尝试过创建一个新的空白数据库,然后导入所有内容?
听起来好像已经设置了 shift 键旁路,但正如所指出的,通常只需要部署。事实上,对于任何访问开发人员来说,这在很大程度上是一种标准方法。
因此,不清楚是否有任何东西被锁定在这里,或者这个人只是设置了大多数访问应用程序在部署给用户时应该是这样的。
导入到另一个应用程序时唯一丢失的是工具启动设置和 shift 键。如果有自定义菜单,请确保您也选中了导入这些菜单的选项。(但是,要小心,因为有时可以设置自定义菜单以在启动时运行宏,这是一个古老的安全技巧)。因此,如果使用工具栏导入一次并按住 shift 键仍会导致启动代码运行,则尝试创建另一个空白数据库,这次从旧应用程序中导入除菜单+工具栏之外的所有内容。因此,按住 shift 键将为您工作。
此外,如果系统不要求您输入密码,那么您希望密码恢复程序做什么?您所需要的只是在这里处理此问题的基本访问开发人员技能,并且在没有提示您输入密码时抛出诸如删除密码之类的东西不会让您前进。
另一方面,如果将所有表格导入新数据库后,设计能力是灰色的,那么这实际上是一个mde文件,除非你能找到用于创建的原始mdb文件,否则你将处于相当困难的境地。米德。