The names you use in processing a <form> submission must match the names of the fields in the <form> that was submitted!!!
But then look here:
<select name="SelectStudent" ...>
If Request("rsTraveler") = "1" Then
Then this statement makes no sense at all:
First of all, you are *REPEATING* the Request("alldates"). And in a way so wrong I don't have time to explain it.
ElseIf (Request("alldates") = "") OR (Request("Start") = "" AND (Request("End")) = "" OR (Request("alldates") = "") Then
Secondly you are saying "if the user did not check 'alldates' *OR* if the user didn't input start and end dates, it's an error. So suppose the user does not check 'alldate'. And the user does put in start and end dates. You will *STILL* mark that as an error, because of the OR condition!!!
Your logic is completely backwards!
ElseIf Request("alldates") = "" AND ( Request("Start") = "" OR (Request("End")) = "" ) Then