如何在设计模式下打开锁定的应用程序?

时间:2010-10-01 19:45:32

标签: ms-access forgot-password cracking

我们的MS Access 2000开发人员一年前离开了公司。我们需要在设计模式下打开他的应用程序才能进行修改。在按住Shift键的同时双击.mdb文件不起作用。当我这样做时,开发人员工具栏会显示一瞬间,然后所有工具栏都会消失,应用程序会在用户看到它时打开。没有工具栏显示,只有基本仪表板可见才能运行应用程序。我尝试使用提到的here密码恢复工具,但该工具说没有密码。有人能告诉我如何打开这个应用程序来修改代码吗?

3 个答案:

答案 0 :(得分:5)

贝丝的回答对我自己和同事都很有用。我已经从链接中复制了解决方案,以防链接死亡。

“...要解锁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

答案 1 :(得分:1)

如果没有启用此代码,请确保没有其他副本。

这是用于执行此类操作的典型代码,SetByPass有指示命令Cntl-G打开VBA编辑器并运行代码以取消此操作。

答案 2 :(得分:0)

您是否尝试过创建新的空白数据库,然后导入所有内容?

听起来已经设置了shift键旁路,但正如所指出的那样,通常只需要进行部署。实际上,对于任何访问开发人员来说,这都是一种标准方法。

因此,目前还不清楚是否有任何内容被锁定在此处,或者只是设置了大部分访问应用程序应该在部署到用户时。

关于导入到其他应用程序时唯一丢失的是工具启动设置和shift键。如果有自定义菜单,请确保选中导入它们的选项。 (但是,要小心,因为有时可以设置自定义菜单以在启动时运行宏,这是一个旧的安全技巧)。因此,如果使用工具栏导入一次并按住shift键仍会导致启动代码运行,则尝试创建另一个空白数据库,这次导入除旧应用程序中的菜单+工具栏之外的所有内容。因此,按住shift键将为您工作。

另外,如果系统没有要求您提供密码,那么您希望密码恢复程序能做什么?您只需要基本的访问开发人员技能来处理这个问题,并在没有提示输入密码时抛弃密码删除等内容,这不会让您前进。

另一方面,如果将所有表单导入新数据库后,设计能力会变灰,那么这实际上是一个mde文件,除非你能找到原始的mdb文件,否则你处于相当困难的状态用来创建mde。