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