I have a large procedure with a number "if" statements. I get an error message that the "Procedure is too large". Is there anyway around this or do I have to reduce the size of the code?
What I have is a rostering database. When I select the employee to assign a shift, the procedure looks at the annual leave requests and displays "A/L" into that specific days roster. The code I have used is:
Totally agree with [blue]osi2301[/blue], thats a new error on me!
From the looks of it [blue]you need some type of looping structure![/blue] . . . However, it does appear your exceeding [blue]Access Specifications[/blue] for field/control count in tables and/or forms. I'm wondering how you got past construction of these items . . .
There must be some way to create a loop for this
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = Me![BeginningDate] Then
MsgBox [Title] & " " & [Crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
For i = 1 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
Hope This Helps, PH.
Want to get great answers to your Tek-Tips questions? Have a look at FAQ219-2884 or FAQ181-2886
That loop worked well but by the time all possible combinations of dates are entered, I still get the "Procedure too large" error message. Even tried spliting the code betqween the 'After_Update' and the 'On_Change' and I still got the error.
At first I used the code suggested by PHV and continued to replicate the code for each day combination, including repeating the msgbox for each day. I got the same error even when I split the code between AFTER UPDATE and ON CHANGE.
I went back and rebuilt the code so that only the first line included the msgbox and all other days were just IF statements for that day combination.
However, even that wasn't enough and the code for the last few days generated the error message again. I was able to move those days to the ON CHANGE and it now works.
If you would like to see the code, I can send it, however it is very large.
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] >= Me![BeginningDate] Then
MsgBox [Title] & " " & [crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 10) Then
For i = 11 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 11) Then
MsgBox [Title] & " " & [crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
For i = 12 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 12) Then
For i = 13 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 13) Then
For i = 14 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] <= (Me![BeginningDate] + 13) And Me![LeaveBegin] < Me![BeginningDate] Then
MsgBox [Title] & " " & [crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 3) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 4
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 2) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 3
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 1) And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 2
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = Me![BeginningDate] And Me![LeaveBegin] < Me![BeginningDate] Then
For i = 1 To 1
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] <= (Me![BeginningDate] + 13) And Me![LeaveBegin] >= Me![BeginningDate] Then
MsgBox [Title] & " " & [crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 10) Then
For i = 11 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 11) Then
For i = 12 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 12) Then
For i = 13 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 13) And Me![LeaveBegin] = (Me![BeginningDate] + 13) Then
For i = 14 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 10) Then
For i = 11 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 11) Then
For i = 12 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 12) And Me![LeaveBegin] = (Me![BeginningDate] + 12) Then
For i = 13 To 13
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 10) Then
For i = 11 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 11) And Me![LeaveBegin] = (Me![BeginningDate] + 11) Then
For i = 12 To 12
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 10) And Me![LeaveBegin] = (Me![BeginningDate] + 10) Then
For i = 11 To 11
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 9) And Me![LeaveBegin] = (Me![BeginningDate] + 9) Then
For i = 10 To 10
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 8) And Me![LeaveBegin] = (Me![BeginningDate] + 8) Then
For i = 9 To 9
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 7) And Me![LeaveBegin] = (Me![BeginningDate] + 7) Then
For i = 8 To 8
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 6) And Me![LeaveBegin] = (Me![BeginningDate] + 6) Then
For i = 7 To 7
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 5) And Me![LeaveBegin] = (Me![BeginningDate] + 5) Then
For i = 6 To 6
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 4) And Me![LeaveBegin] = (Me![BeginningDate] + 4) Then
For i = 5 To 5
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 3) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 4
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 3) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 4
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 3) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 4
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 3) And Me![LeaveBegin] = (Me![BeginningDate] + 3) Then
For i = 4 To 4
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 2) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 3
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 2) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 3
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 2) And Me![LeaveBegin] = (Me![BeginningDate] + 2) Then
For i = 3 To 3
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 1) And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 2
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = (Me![BeginningDate] + 1) And Me![LeaveBegin] = (Me![BeginningDate] + 1) Then
For i = 2 To 2
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
If Me![LeaveEnd] = Me![BeginningDate] And Me![LeaveBegin] = Me![BeginningDate] Then
For i = 1 To 1
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
A starting point to shorten the 1st bloc:
If Me![LeaveEnd] > (Me![BeginningDate] + 13) And Me![LeaveBegin] >= Me![BeginningDate] Then
MsgBox [Title] & " " & [crewmember] & " has " & [LeaveType] & " on " & [LeaveBegin] & " to " & [LeaveEnd], vbInformation, "RACS"
For i = Me![LeaveBegin] - Me![BeginningDate]+ 1 To 14
Me("Pattern" & i) = Me![leavesymbol]
Me("Date" & i) = Me![BeginningDate] + i - 1
Next
End If
...
Same kind of shortening is possible for the "Me![LeaveEnd] <= (Me![BeginningDate] + 13)" bloc.
The others probably too but I'm lazzy today ;-)
Hope This Helps, PH.
Want to get great answers to your Tek-Tips questions? Have a look at FAQ219-2884 or FAQ181-2886
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.