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
>