Search code examples
ms-accessvb6vba

Return Boolean from Function VBA


It seems pretty strange, although the code seems correct I always get back a False Boolean value for:

  • AgencyNameResult = CheckLenght(AgencyName, 2)
  • AgencyWebsiteResult = CheckLenght(AgencyWebsite, 5).

Could you identify the mistake?

Public Function CheckLenght(value As String, CharLimit As Integer) As Boolean

 Dim StringLength As Integer

 StringLength = Len(value)

 If StringLength > CharLimit Then
  CheckLength = True
 Else
  CheckLength = False
 End If

End Function

Private Sub btAddAgency_Click()

Dim AgencyName As String
Dim AgencyWebsite As String,
Dim AgencyNameResult As Boolean
Dim AgencyWebsiteResult As Boolean

Me.tbAgencyName.SetFocus
AgencyName = Me.tbAgencyName.Text
Me.tbAgencyWebsite.SetFocus
AgencyWebsite = Me.tbAgencyWebsite.Text

AgencyNameResult = CheckLenght(AgencyName, 2)
AgencyWebsiteResult = CheckLenght(AgencyWebsite, 5)

....

Solution

  • Your function is called

    Public Function CheckLenght
    

    Yet, you attempt to assign the return value to

      CheckLength = False
    

    Solution:

    rename your function to

    Public Function CheckLength