Access - One Name Field with Spaces

Please offer how I can separate out a name field that has the following in one field:

first name, middle initial/name (may not always be included, last name - in one field

Therefore

JOHN S SMITH
JOHN SAM SMITH
JOHN SMITH

All become:

JOHN SMITH

The last name formula works, but the first name does not:

Last Name: Mid([Name First/Last],InStrRev([Name First/Last]," ")+1) - works

First Name: Left([Patient First/Last],InStr([Patient First/Last]," ")-1) - does not work

Thank you.
exp vgAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

exp vgAuthor Commented:
Additionally - there may be more than one middle name.

Example

JOHN SAM WILLIAMS SMITH

will still become

JOHN SMITH

This name field is always separated by a space.

Thank you.
0
exp vgAuthor Commented:
I can also do this in Excel - with some manual manipulation - but it is appreciated if I can do this in Access .
Thank you.
0
Dale FyeCommented:
What do you mean that:

First Name: Left([Patient First/Last], InStr([Patient First/Last]," ") -1)

does not work?  That syntax appears to be correct.  What value are you getting in the [First Name] field of your query?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
chaauCommented:
You may need to trim the [Patient First/Last] value before the manipulation. Try this:
First Name: Left(Trim([Patient First/Last]), InStr(Trim([Patient First/Last])," ") -1)

Open in new window

I also suggest you apply the trim for the last name:
Last Name: Mid(Trim([Name First/Last]),InStrRev(Trim([Name First/Last])," ")+1)

Open in new window

0
exp vgAuthor Commented:
Thank you.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.