If that is the invariable format (middle initial at the end) you could do
something like this as a calculated query field:
No_MI: IIf(Right([NameField],2) = " ",Left([NameField],Len([NameField] -
2,[NameField])
If some middle initials have periods and some do not, you could do:
No_MI: IIf(Right([NameField],1) = ".",Left([NameField],Len([NameField] -
3,IIf(Right([NameField],2) = " ",Left([NameField],Len([NameField] -
2,[NameField]))
The latter expression tests to see if the rightmost character is a period.
If it is, the expression subtracts 3 from the total length of the string (in
the case of Jimmy Smith K., the total length is 14; subtract 3 to get 11.
The 11 leftmost characters are "Jimmy Smith". If there is no period, the
expression check the second character from the right. If it is a space, 2
is subtracted instead of 3. If neither condition (a period at right or a
space second from the right) applies, the expression returns the original
field.
You will probably also want to separate first and last names into separate
fields. There is more information here:
http://www.mvps.org/access/strings/str0001.htm
In any case, you can run the query as a make-table query in order to include
the new field (or fields) in place of the old one.