Private Sub cmdProfile_Click()
Dim Message As String
Dim StudentAge As Integer 'Changed from String to Integer (number)
Dim StudentDate As Date
Dim Grade As String 'added
'Remove this ..... Dim IsDate As Variant
'Use & for strings ...... remove vbcr
'Message = txtName.Text & " is a student in the" & lblGrade.Caption
'You dont need this first one cos u are setting later
Select Case lbl_grade 'Select case is easier to follow for multi ifs
Case "1": Grade = "First"
Case "2": Grade = "Second"
Case "3": Grade = "Third"
Case "4": Grade = "Fourth"
Case "5": Grade = "Fifth"
Case "6": Grade = "Sixth"
End Select
Message = txtName.Text & " is a student in the " & Grade & "Grade. "
'Calculate students age
StudentDate = cboDate.Text & "/" & cboMonth.Text & "/" & lblYear.Caption
If IsDate(StudentDate) Then
StudentAge = DateDiff("yyyy", StudentDate, Now())
If Month(Now) < Val(cboMonth.Text) Then
StudentAge = StudentAge - 1
ElseIf Month(Now) = Val(cboMonth.Text) Then
If Day(Now) < Val(cboDate.Text) Then
StudentAge = StudentAge - 1
End If
End If
Else
MsgBox "Please enter valid date"
Exit Sub
End If
If optMale.Value = True Then
Message = Message & "He is " & StudentAge & " Years Old"
Else
Message = Message & "She is " & StudentAge & " Years Old"
End If
MsgBox Message, vbOKOnly, "Student Profile"
End Sub