The only thing i've got now if when there is just a company name - there is a ',' before it.. I tried having a little play around, trying to follow what you did - but I'm not getting any closer..
I saw that, but.... well I didn't want to fix it because you might think I was a Nerd.
Well, I guess I just proved it........
Code:
ContactName2: nz([name1],"") & IIf(IsNull([name1]),"",IIf(IsNull([name2])," "," & ")) & nz([name2],"") & IIf(IsNull([name2]),""," ") & nz([Surname],"") & IIf(IsNull([companyname]),"",IIf(IsNull([Name1]) And IsNull([name2]) And IsNull([Surname]),"",", ")) & Nz([companyname],"")