Standard Name Formatting Routine

Names of people come in many separate parts, some of which can be not present or not known. The hassle begins if you are dealing with a storage system (database or otherwise) where the parts are stored separately. You are now faced with a formidable task of putting it all together and making sure that correct formatting is used.

A common mistake will format a person whose middle initial is not known as:

John . Doe instead of John Doe

However making it right requires some effort and there is no need to repeat it for every time. That's why I created the following functions:

public Function FormatName(firstname as string, _
                           lastname as string, _
                           optional mi as string, _
                           optional title as string, _
                           optional Suffix as string) as string

    If len(Trim$(title)) > 0 then
        FormatName = StrConv(title, vbProperCase)
        If Right$(FormatName, 1) <> "." then FormatName = _
           FormatName & "."
        FormatName = FormatName & " "
    End If

    If len(Trim$(firstname)) > 0 then
        FormatName = FormatName & StrConv(firstname, _
                     vbProperCase) & " "
    End If

    If len(Trim$(mi)) > 0 then
        FormatName = FormatName & StrConv(mi, vbProperCase)
        If Right$(FormatName, 1) <> "." then FormatName = _
           FormatName & "."
        FormatName = FormatName & " "
    End If

    If len(Trim$(lastname)) > 0 then
        FormatName = FormatName & StrConv(lastname, vbProperCase) _
                     & " "
    End If

    If len(Trim$(Suffix)) > 0 then
        FormatName = Trim$(FormatName) & ", " & StrConv(Suffix, _
                     vbProperCase)
    End If

    FormatName = Trim$(FormatName)

End Function

This function is similar to the one above, except that it puts the lastname first.

public Function FormatNameReverse(firstname as string, _
       lastname as string, _
       optional mi as string) as string

    FormatNameReverse = StrConv(lastname, vbProperCase)

    If len(Trim$(firstname)) > 0 Or len(Trim$(mi)) > 0 then
        FormatNameReverse = FormatNameReverse & ","
    End If

    If len(Trim$(firstname)) > 0 then
        FormatNameReverse = FormatNameReverse & " " & _
                            Trim$(StrConv(firstname, vbProperCase))
    End If

    If len(Trim$(mi)) > 0 then
        FormatNameReverse = FormatNameReverse & " " & _
                            Trim$(StrConv(Left$(mi, 1), _
                            vbProperCase)) & "."
    End If

    FormatNameReverse = Trim$(FormatNameReverse)

End Function


Comments

  • Program

    Posted by Legacy on 12/11/2003 12:00am

    Originally posted by: Grea

    how can you check if there is a comma between the wholename then swap the name?  eg: Doe, Joe to Joe Doe
    
    or Joe (doe) to Joe (doe)

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • With the average hard drive now averaging one terabyte in size, the fallout from the explosion of user-created data has become an overwhelming volume of potential evidence that law-enforcement and corporate investigators spend countless hours examining. Join Us and SANS' Rob Lee for our 45-minute webinar, A Triage and Collection Strategy for Time-Sensitive Investigations, will demonstrate how to: Identify the folders and files that often contain key insights Reduce the time spent sifting through content by …

Most Popular Programming Stories

More for Developers

RSS Feeds