[AccessD] Prevent displaying a form until...

jwcolby jwcolby at colbyconsulting.com
Thu Aug 26 16:23:04 CDT 2010


But there are many ways to open a form and I would prefer to not have the security work only if 
opened through this method.

John W. Colby
www.ColbyConsulting.com


Heenan, Lambert wrote:
> Like Drew said...
> 
> Using an OpenAgs value to simulate your security check, just open the form acHidden
> 
> Sub testFormOpen(strArgument As String)
>     On Error GoTo testFomrOpen_Error
>     DoCmd.OpenForm "form2", , , , , acHidden, IIf(strArgument > " ", strArgument, Null)
>     Debug.Print IsLoaded("form2")
> testFomrOpen_Exit:
>     On Error GoTo 0
>     Exit Sub
> 
> testFomrOpen_Error:
>     Select Case Err.Number
>     Case 2501    ' For open cancelled
>         ' do nothing
>         Resume Next
>     Case Else
> 
>         Debug.Print Err.Number, Err.Description
>         Resume testFomrOpen_Exit
>         Resume Next
>     End Select
> 
> End Sub 
> 
> And then in the Open event of the form...
> 
>     If OpenArgs & "" > "" Then <== If YourSecurityCheckPassed
>         Me.Visible = True
>     Else
>         Cancel = True
>     End If
> 
> 
> Lambert
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Thursday, August 26, 2010 4:00 PM
> To: Access Developers discussion and problem solving
> Subject: [AccessD] Prevent displaying a form until...
> 
> I am starting to test my table driven Presentation Level Security system.  I have a login etc.  When a form opens, in the OnOpen I initialize an instance of the class that will drive the security for that form.  I do it there because I can set Cancel = true to force the form to shut back down if the user is not allowed to use the form.
> 
> The problem is that the form *displays* even if it eventually shuts back down.
> 
> This is an issue because I pop up a message box saying that the user is not allowed to open the form, but it is already open and displaying data behind the message box.  Oooops.
> 
> The only other time I have addressed this issue I opened a dummy form in front of the form being opened so that the form actually being opened was hidden.  That is an ugly solution to a common problem.
> 
> Has anyone solved this problem in an elegant fashion.
> 
> --
> John W. Colby
> www.ColbyConsulting.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