I have created a form and using the code below applied some validation. However The message box in the Write function for some reason fires twice and also after the form is cancelled when the user goes back to the form to fix the errors the send button has disappeared from the toolbar.
Code:Function Item_Write() Dim str_ValidRequired Dim str_ValidIncorrect str_ValidRequired = "" str_ValidIncorrect = "" str_ValidRequired = ValidateRequired str_ValidIncorrect = ValidateIncomplete If str_ValidRequired <> "" or str_ValidIncorrect <> "" Then Item_Write = False If str_ValidRequired <> "" Then str_ValidRequired = "The form is incomplete, please complete the following fields- " & VBCrLf & str_ValidRequired End If If str_ValidIncorrect <> "" Then str_ValidIncorrect = "The form contains the following errors please review as described and resubmit the form-" & VBCrLf & str_ValidIncorrect End If msgbox str_ValidRequired & str_ValidIncorrect, 64, "Request Validation." End If End Function Function Item_Send() Dim str_ValidRequired Dim str_ValidIncorrect Dim str_ErrorMsg str_ValidRequired = "" str_ValidIncorrect = "" str_ErrorMsg = "" str_ValidRequired = ValidateRequired str_ValidIncorrect = ValidateIncomplete If str_ValidRequired <> "" or str_ValidIncorrect <> "" Then Item_Send = False End If End Function Function ValidateRequired() Dim str_List str_List = "" Dim txt_Requester Dim txt_JobTitle Dim txt_Telephone Dim txt_Email Dim txt_RequestTitle Dim cbo_PracticeArea Dim cbo_Audience Dim cbo_RequestAbout Dim txt_BusinessObjectives Dim txt_Deadline Dim txt_RequestOverview txt_Requester = Item.UserProperties("Requester") txt_JobTitle = Item.UserProperties("JobTitle") txt_Telephone = Item.UserProperties("Telephone") txt_Email = Item.UserProperties("Email") txt_RequestTitle = Item.UserProperties("RequestTitle") cbo_PracticeArea = Item.UserProperties("PracticeArea") cbo_Audience = Item.UserProperties("Audience") cbo_RequestAbout = Item.UserProperties("RequestAbout") txt_BusinessObjectives = Item.UserProperties("Objectives") txt_Deadline = Item.UserProperties("Deadline") txt_RequestOverview = Item.UserProperties("RequestOverview") If txt_Requester = "" Then str_List = str_List & "Requester:" & VBCrLf End If If txt_Telephone = "" Then str_List = str_List & "Telephone:" & VBCrLf End If If txt_Email = "" Then str_List = str_List & "Email:" & VBCrLf End If If txt_RequestTitle = "" Then str_List = str_List & "Request Title:" & VBCrLf End If If cbo_PracticeArea = "" Then str_List = str_List & "Practice Area:" & VBCrLf End If If cbo_Audience = "" Then str_List = str_List & "Audience:" & VBCrLf End If If cbo_RequestAbout = "" Then str_List = str_List & "Request About:" & VBCrLf End If If txt_BusinessObjectives = "" Then str_List = str_List & "Business Objectives:" & VBCrLf End If If txt_RequestOverview = "" Then str_List = str_List & "Request Overview:" & VBCrLf End If ValidateRequired = str_List End Function Function ValidateIncomplete() Dim str_List Dim txt_Deadline str_List = "" txt_Deadline = Item.UserProperties("Deadline") If txt_Deadline < Now() Then str_List = "Request Deadline must be in the future:" & VBCrLf End If ValidateIncomplete = str_List End Function





Reply With Quote