One option would be using the field calculator. It does go through every line, but I'm not sure I understand how you would do this without iterating through the table in some manner. I am not good at VB Script, but you can use the Split function to separate based on the first space in the string (assuming all names follow that structure), and it should be something like this:
EDIT: Apologies to the opening poster, I actually got it all wrong. Here is my best attempt at a VB script that will put the last word in a space-delimited string at the beginning with a comma and then add the rest, but I am getting a syntax error. If you can find it, please edit this to be correct! I will continue to poke at it until then.
Function switchpos(ByVal theString As String) As String
Dim theArray() As String
Dim theFinal as String
theArray() = Split(theString, " ", -1)
For i = LBound(theArray) To UBound(theArray)-1
theFinal = theFinal & theArray(i)
Next
switchpos = theArray(UBound(theArray)) & ", " & theFinal
Return switchpos
End Function
I'm still working on a good method to get the rest of the variable strings added up. If you want a quick stopgap in python, plug the following into your Codeblock:
def nameswitch(theString):
names = theString.Split()
b = ""
for name in names:
if(name == names[-1]):
continue
b = b+name+" "
return names[-1]+", "+b
And put this in the execution block:
namswitch([FIELD])
The previous code took the Table value STOCK LN FREEDOM and returned FREEDOM, STOCK LN.
Is that what you're looking for?