Heenan, Lambert
Lambert.Heenan at chartisinsurance.com
Thu Aug 26 15:28:03 CDT 2010
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