I am trying to update an associate's status (they left the company voluntarily, were fired, etc.)via Combobox and it keeps throwing an error saying that the records are locked. I have tried 3 different solutions yet I can't figure it out. I did research and it says that it means the records are open elsewhere, so I am kind of stuck.
Does anyone have any ideas?!
Here is the code for the AfterUpdate() on the Combobox.
Does anyone have any ideas?!
Here is the code for the AfterUpdate() on the Combobox.
Code:
Select Case Me![StatusCbx] Case 1 'Active: Calculate vesting date with standard vesting period - award units remain unchanged If MsgBox("Update status?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "ActiveVestingDateUpdateQry" Me.Refresh DoCmd.OpenQuery "SeparationDateActiveUpdateQry" DoCmd.SetWarnings True DoCmd.Hourglass False Me.Refresh End If Case 2 'Voluntary separation: determine eligibility for special vesting DoCmd.OpenQuery "SeparationDateUpdateQry" If Me.Parent!Age >= 55 And Me.Parent!YearsofService >= 10 Then DoCmd.OpenQuery "SeparationDateUpdateQry" If MsgBox("Employee is eligible for special vesting. Update status and calculate special vesting?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.RunCommand acCmdSaveRecord DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "VoluntarySepUpdateQry" DoCmd.OpenQuery "SpecialVestingUpdateQry" DoCmd.OpenQuery "VoluntarySepUpdateQry" DoCmd.SetWarnings True DoCmd.Hourglass False Me.Refresh End If Else If MsgBox("Employee is not eligible for special vesting. Update status and determine award forfeitures?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.RunCommand acCmdSaveRecord DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "VoluntarySepUpdateQry" DoCmd.OpenQuery "ForfeitVestingDateUpdateQry" DoCmd.OpenQuery "ForfeitedUnitsToContributionQry" DoCmd.SetWarnings True DoCmd.Hourglass False Me.Refresh End If End If Case 5 'Death/Disability: set vesting date for unvested awards to the current date 'DoCmd.OpenForm "SeparationDateFrm" If MsgBox("Update status for death/disability?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.RunCommand acCmdSaveRecord DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "DeathVestingDateUpdateQry" DoCmd.Hourglass False DoCmd.SetWarnings True Me.Refresh End If Case 3 'Involuntary separation: 'Determine forfeiture of all awards 'DoCmd.OpenForm "SeparationDateFrm" If MsgBox("Update status for separation?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.RunCommand acCmdSaveRecord DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "ForfeitVestingDateUpdateQry" DoCmd.OpenQuery "InvoluntarySepUpdateQry" DoCmd.OpenQuery "ForfeitedUnitsToContributionQry" DoCmd.OpenQuery "ForfeitUpcomingPayoutsQry" DoCmd.Hourglass False DoCmd.SetWarnings True Me.Refresh End If Case 6 'Employment with Competitor 'DoCmd.OpenForm "SeparationDateFrm" If MsgBox("Update status for employment with competitor?", _ vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then Cancel = True Me.StatusCbx.Undo Else DoCmd.RunCommand acCmdSaveRecord DoCmd.Hourglass True DoCmd.SetWarnings False DoCmd.OpenQuery "ForfeitVestingDateUpdateQry" DoCmd.OpenQuery "EmploymentCompUpdateQry" DoCmd.OpenQuery "ForfeitedUnitsToContributionQry" DoCmd.OpenQuery "ForfeitUpcomingPayoutsQry" DoCmd.Hourglass False DoCmd.SetWarnings True Me.Refresh End If End Select
Comment