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 …

  • Hundreds of millions of users have adopted public cloud storage solutions to satisfy their Private Online File Sharing and Collaboration (OFS) needs. With new headlines on cloud privacy issues appearing almost daily, the need to explore private alternatives has never been stronger. Join ESG Senior Analyst Terri McClure and Connected Data in this on-demand webinar to take a look at the business drivers behind OFS adoption, how organizations can benefit from on-premise deployments, and emerging private OFS …

Most Popular Programming Stories

More for Developers

RSS Feeds