I ended up finding a non elegant solution but it works. I added one column to the process status table called "Check" with default value of 0. Then I created a query that would change the value of that field for any of the processes that had the sequential value of 1.
Then I created a two queries to compare the "Comp_Count" with "Check". I then created an after update event for my selection.
Private Sub Sel_Process_AfterUpdate()
If DCount("*", "qry_process_step_check") = DCount("*", "qry_process_step_check_count") Then
Update_All_Forms
Else
MsgBox ("Previous step/steps not done.")
End If
End Sub
I then created a series of queries that did a similar check function like I used for the process step selection.
Check Query 2
In addition to those queries I also created an update query.
Update Query
This is where the non elegant portion came in. I made 16 copies of each of these queries and changed the sequential number each was looking for. After this was completed, I changed the on click event for a button that would update "Comp_Count" field in Process_Status table.
Here's a sample of the code used.
Private Sub Refresh_Sign_Offs_Button_Click()
If DCount("*", "qry_verifications_check_count") = DCount("*", "qry_verifications_check") And DCount("*", "qry_sub_verif_check_count") = DCount("*", "qry_Sub_Verif_check") And DCount("*", "qry_measurements_check_count") = DCount("*", "qry_measurements_check") And DCount("*", "qry_equipment_check_count") = DCount("*", "qry_equipment_check") And DCount("*", "qry_kits_check_count") = DCount("*", "qry_kits_check") And DCount("*", "qry_material_check_count") = DCount("*", "qry_material_check") Then
Me.Completed.Visible = True
DoCmd.SetWarnings False
DoCmd.OpenQuery ("qry_update_process_status")
DoCmd.SetWarnings True
MsgBox ("Process has been completed.")
If DCount("*", "qry_seq1check") = DCount("*", "qry_seq1count") Then
DoCmd.SetWarnings False
DoCmd.OpenQuery ("qry_seq1u")
DoCmd.SetWarnings True
ElseIf DCount("*", "qry_seq2check") = DCount("*", "qry_seq2count") Then
DoCmd.SetWarnings False
DoCmd.OpenQuery ("qry_seq2u")
DoCmd.SetWarnings True
Else
Me.Completed.Visible = False
MsgBox ("Not all items filled out.")
End If
The only thing missing in code above is the rest of elseif statements I was using. It's not the most elegant solution, but it will do everything I need it to do.