[AccessD] Locked down database

Doug Steele dbdoug at gmail.com
Mon Feb 2 20:01:20 CST 2015


Thanks, Dan.  I was actually given code privately (by John Colby, no less!)
that does a similar thing. Having unlocked the mystery db, I've discovered
that it isn't an .accdb file, but a renamed .accde file.  So unless my
client can find the original uncompiled file, he's going to be out of luck.

On Mon, Feb 2, 2015 at 5:53 PM, Dan Waters <df.waters at outlook.com> wrote:

> Hi Doug,
>
> A few years ago I wrote an Access mdb as a tool to clear the Shift Bypass
> lockout.
>
> Create a new ACCDB file, and put this code into a module.  Add a new macro
> named AutoExec to run the function UnlockAccessFile().  You will need to
> hold down the shift key to get into the code in this file.  I wrote this to
> work with the MDB files I work with, but it might also work on an ACCDB.
>
> Save the Access file and name it Allow Bypass (works for me).
>
> If you get an error send it to me and let me know what you were trying to
> do.
>
> Now open the Allow Bypass access file, locate the Access file you want to
> get opened, and see if it works.  Also - it might be that the Allow Bypass
> tool is actually working, but something else in your file is still locking
> you out - but I don't know what would do that.
>
> Good Luck!
> Dan
>
> -----------------------------------
> Option Compare Database
> Option Explicit
>
> Private MappSource As Access.Application
>
> Public Function UnlockAccessFile()
> 1     On Error GoTo EH
>
>           '-- Note:  Run this application from this procedure.
>
>           Dim stgSourceFilePath As String
>           Dim stgPrompt As String
>
>           '-- Select Access File
> 2         stgSourceFilePath = SelectFile
> 3         If stgSourceFilePath = "File Not Selected" Or stgSourceFilePath =
> "" Then
> 4             MsgBox "Can't find file!", vbExclamation + vbOKOnly, "No
> File"
> 5             Exit Function
> 6         End If
> 7         DoEvents
>
>           '-- Set Source MDB or ACCDB as the CurrentDatabase
> 8         Set MappSource = New Access.Application
> 9         MappSource.Visible = False
> 10        MappSource.OpenCurrentDatabase stgSourceFilePath
> 11        DoEvents
>
> 12        ChangeProperty "AllowBypassKey", dbBoolean, True  '-- Allow shift
> key bypass
> 13        ChangeProperty "AllowSpecialKeys", dbBoolean, True  '-- Allow F11
> key
> 14        ChangeProperty "AllowBreakIntoCode", dbBoolean, True
> 15        ChangeProperty "AllowFullMenus", dbBoolean, True
> 16        ChangeProperty "StartupShowDBWindow", dbBoolean, True
>
> 17        MappSource.CloseCurrentDatabase
> 18        Set MappSource = Nothing
>
> 19        MsgBox "Your file at " & stgSourceFilePath & " is now
> available!",
> vbInformation + vbOKOnly, "File Now Available"
>
> 20        Exit Function
>
> EH:
> 21        stgPrompt = "ERROR: SelectFile" & vbNewLine & vbNewLine _
>               & "Line:            " & Erl & vbNewLine _
>               & "Number:        " & Err.Number & vbNewLine _
>               & "Description: " & Err.Description
> 22        MsgBox stgPrompt, vbExclamation + vbOKOnly
> 23        Stop
>
> End Function
>
> Private Function SelectFile() As String
> 1         On Error GoTo EH
>
>           Dim fDialog As Office.FileDialog
>           Dim stgPrompt As String
>           Dim varFile As Variant
>
> 2         Set fDialog = FileDialog(msoFileDialogFilePicker)
>
> 3         With fDialog
>
> 4             .AllowMultiSelect = False
> 5             .InitialView = msoFileDialogViewList
> 6             .InitialFileName = CurrentProject.Path
> 7             .Title = "Select the Access file."
>
> 8             .Filters.Clear
> 9             .Filters.Add "Access Databases", "*.MDB"
> 10            .Filters.Add "Access Databases", "*.ACCDB"
>               '.Filters.Add "Access Projects", "*.ADP"
>
>               '-- Show the dialog box. If the .Show method returns True,
> the
> _
>                user picked at least one file. If the .Show method returns _
>                False, the user clicked Cancel.
> 11            If .Show = True Then
> 12                For Each varFile In .SelectedItems
> 13                    SelectFile = varFile
> 14                Next varFile
> 15            Else
> 16                SelectFile = "File Not Selected"
> 17            End If
>
> 18        End With
>
> 19        Exit Function
>
> EH:
> 20        stgPrompt = "ERROR: SelectFile" & vbNewLine & vbNewLine _
>                       & "Line:            " & Erl & vbNewLine _
>                       & "Number:        " & Err.Number & vbNewLine _
>                       & "Description: " & Err.Description
> 21        MsgBox stgPrompt, vbExclamation + vbOKOnly
> 22    Stop
>
> End Function
>
> Public Function ChangeProperty(stgPropName As String, varPropType As
> Variant, varPropValue As Variant) As Boolean
> 1     On Error GoTo EH
>
>           Dim prp As DAO.Property
>           Dim stgPrompt As String
>           Dim dbs As DAO.Database
>
> 2         Set dbs = MappSource.DBEngine(0)(0)
>
> 3         dbs.Properties(stgPropName) = varPropValue
>
> 4         ChangeProperty = True
>
> XH:
> 5         Exit Function
>
> EH:
> 6         Select Case Err.Number
>
>               Case 3270
>                   '-- Add property if not already created
> 7                 Set prp = DBEngine(0)(0).CreateProperty(stgPropName,
> varPropType, varPropValue)
> 8                 DBEngine(0)(0).Properties.Append prp
> 9                 Set prp = Nothing
> 10                Resume Next
>
> 11            Case Else
> 12                stgPrompt = "ERROR: SelectFile" & vbNewLine & vbNewLine _
>                       & "Line:            " & Erl & vbNewLine _
>                       & "Number:        " & Err.Number & vbNewLine _
>                       & "Description: " & Err.Description
> 13                MsgBox stgPrompt, vbExclamation + vbOKOnly
> 14                Stop
>
> 15        End Select
>
> End Function
>
> ---------------------------------
>
>
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Doug Steele
> Sent: Monday, February 02, 2015 16:35 PM
> To: Access Developers discussion and problem solving
> Subject: [AccessD] Locked down database
>
> I've just been asked by an old client to 'rescue' a database so it can be
> developed again.  This db was left in a locked down state of some kind by
> an
> ex-employee of theirs. It wasn't an amicable parting :)
>
> The database is in Access 2007 format.  It's not password protected, and it
> is in .accdb format, not accde. The 'hold down the shift key to open'
> option has been bypassed.  There is no 'design view' option when you right
> click on a form, and of course all menus have been hidden.  I tried
> creating
> an blank db and importing, but the forms list in the import window is
> greyed
> out.
>
> Does anyone have any suggestions?
>
> Thanks,
> Doug
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>


More information about the AccessD mailing list