Solved

Separate First Name - Middle Name - Last Name to three columns - ACCESS VBA SQL

Posted on 2014-03-13
9
2,572 Views
Last Modified: 2016-03-20
I have a table field of people names(full name) in an order of "First Name, Last Name Middle Name", I need to separate this field records to three separate columns like First Name Middle Name and Last Name. Can you please help me experts?

Sample Data
==========
Mayes,Taryn
McAdams,Carrie
McCandless,Rosemary Van Linde
McConkey,Morgan E
McCurdy,Jeanne C
0
Comment
Question by:gtmathewDallas
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 10

Expert Comment

by:etech0
ID: 39927552
Sounds like you'd need to use a combination of InStr, Left, Right, Mid, and Len functions. I can put it together for you later if you want, when I have access to a computer with Access.
0
 

Author Comment

by:gtmathewDallas
ID: 39927865
Thank you etechO
0
 
LVL 10

Accepted Solution

by:
etech0 earned 500 total points
ID: 39928160
Okay, here goes:

(Make a query with this SQL)
SELECT Table1.PersonsName, InStr([PersonsName],",") AS comma, Left([PersonsName],[comma]-1) AS LastName, IIf(InStr([comma],[personsname]," ")=0,Len([personsname])+1,InStr([comma],[personsname]," ")) AS FirstSpace, Mid([PersonsName],[comma]+1,[firstspace]-[comma]-1) AS FirstName, Mid([personsname],[firstspace]+1,Len([personsname])) AS MiddleName
FROM Table1;

Open in new window


Notes: Replace "Table1" with the name of the table we're looking at, and replace "PersonsName" with the name of the field with the name in it. The rest should stay the same. There will be a couple of columns in the query that you can ignore (they are used for calculations).

Let's see if this works!
0
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 

Author Closing Comment

by:gtmathewDallas
ID: 39929319
Excellent etech0, Thank you so much
0
 
LVL 10

Expert Comment

by:etech0
ID: 39929352
My pleasure!
0
 

Expert Comment

by:Nancy Carpenter
ID: 40204257
I get #Func! when I try to run this query.  I am not sure how to fix this.  Can you help?

Thanks!
0
 

Expert Comment

by:Nancy Carpenter
ID: 40204272
I think I get the #Func! error in the LastName field because it is returning a null.  All my last names are in the MiddleName field.
0
 

Expert Comment

by:Nancy Carpenter
ID: 40204285
The other problem is that some of the MiddleName fields have both middle name and last name with 2 spaces in between.
0
 
LVL 1

Expert Comment

by:Mswetsky
ID: 41515171
was there a solution to this #Func!
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question