Hi everyone,
I have a bit of a problem with my application, and I can't even pinpoint any code that gives me an error...
I have a report that has a link to open a a form "ProjectDetailsActive" to a specific record ID from the report. It works.
I have 3 subsets of users who have restricted access to the form "Project Details Active". By that I mean that when they open this form, it hides and rearranges some tabs, and disables certain controls. If a user from one of these 3 subsets tries to open the link to a specific record in the form, it does not work. The form opens to the first record available instead of the selected record. This is only a problem for these 3 user groups. For users who do not fall into these 3 groups, the filter works.
This is the only code in the form that does the restriction, but I don't know where the process is going wrong.
I'd appreciate any ideas at all!
Code:
Private Sub Form_Current()
LoadBudgetPage
CancelRsn.Enabled = False
'detect number of line items for current project
Me.lblOrderCount.Caption = GetNumRecords & " line items for this project."
'For each project, enable ProdDate flag if DSR flag is set
If DSR = True Then
ProdDate.Enabled = True
ElseIf DSR = False Then
ProdDate.Enabled = False
End If
'For each project, check if locked (closed).
'If locked, disable all fields, if not then Enable all fields.
If Locked = False Then
'Me.AllowAdditions = True
'Me.AllowDeletions = True
'Me.AllowEdits = True
ProjName.Enabled = True
ID.Enabled = True
ReOpenProject.Visible = False
lblClosed.Visible = False
lblArchived.Visible = False
Division.Enabled = True
StDate.Enabled = True
EndDate.Enabled = True
ProjectSummary_Page.Enabled = True
ProjectDetails_Page.Enabled = True
ProjectHistory_Page.Enabled = True
Me.Audit_subform.Locked = False
Dependencies_Page.Enabled = True
Me.Dependencies_subform1.Locked = False
Me.Dependencies_subform2.Locked = False
If Unpl = True Then
Rsn4Unplanned.Enabled = True
Pushbk.Enabled = False
Else
Rsn4Unplanned.Enabled = False
Pushbk.Enabled = True
End If
If Pushbk = True Then
Unpl.Enabled = False
Else
Unpl.Enabled = True
End If
If DeplOnly = True Then
PriPlatform.Enabled = False
Else
PriPlatform.Enabled = True
End If
ElseIf Locked = True Then
'Me.AllowAdditions = False
'Me.AllowDeletions = False
'Me.AllowEdits = False
ProjName.Enabled = False
ID.Enabled = False
Division.Enabled = False
StDate.Enabled = False
EndDate.Enabled = False
ProdDate.Enabled = False
ProjectSummary_Page.Enabled = False
ProjectDetails_Page.Enabled = False
'ProjectHistory_Page.Enabled = False
Me.Audit_subform.Locked = True
'Dependencies_Page.Enabled = False
Me.Dependencies_subform1.Locked = True
Me.Dependencies_subform2.Locked = True
If Archived = True Then
lblClosed.Visible = False
ReOpenProject.Visible = False
lblArchived.Visible = True
Else
lblClosed.Visible = True
ReOpenProject.Visible = True
lblArchived.Visible = False
End If
End If
'Check to see if user is Requester
Dim CurrUser As Variant
CurrUser = Environ("username")
If IsNull(DLookup("[UserID]", "Users", "[UserID]=" & Chr(34) & CurrUser & Chr(34))) Then
' user not in USERS table. Hide Project tabs.
RestrictTabs
RestrictNonAdmin
ElseIf Not IsNull(DLookup("[UserID]", "Users", "[PlatformOwner] = True AND [UserID]=" & Chr(34) & CurrUser & Chr(34))) Then
'user is Platform Owner. Hide Project Tabs
RestrictTabs
RestrictNonAdmin
ElseIf Not IsNull(DLookup("[UserID]", "Users", "[CFS] = True And [UserID]=" & Chr(34) & CurrUser & Chr(34))) Then
'user is CFS. hide project tabs
RestrictTabs
RestrictNonAdmin
End If
End Sub
Private Sub RestrictTabs()
Me.ProjectSummary_Page.Enabled = False
Me.ProjectDetails_Page.Enabled = False
Me.Dependencies_Page.Visible = False
Me.ProjectHistory_Page.Visible = False
Me.Budget_Page.PageIndex = 0
Me.Technology_Page.PageIndex = 1
Me.ProjectSummary_Page.PageIndex = 2
Me.ProjectDetails_Page.PageIndex = 3
End Sub
Private Sub RestrictNonAdmin()
Me.ReOpenProject.Visible = False
Me.cmdSaveRecord.Visible = False
Me.cmdAddProject.Visible = False
Me.ID.Enabled = False
Me.ProjName.Enabled = False
Me.Division.Enabled = False
Me.StDate.Enabled = False
Me.EndDate.Enabled = False
End Sub