On fly, this expression must work for all possible variants, even for cases when some name part is not empty, but contains leading/trailing spaces, or contains only spaces.
Code:
LTrim(RTrim((Nz(Alias,""))) & Iif(OR(LTrim(RTrim((Nz(Alias,""))), LTrim(RTrim(Nz(FName,"") & " " & Nz(LName)))=""),""," ") & Iif(AND(LTrim(RTrim(Nz(FName,"") & " " & Nz(LName)))<>"",LTrim(RTrim((Nz(Alias,"")))<>""),"(","") & LTrim(RTrim(Nz(FName,"") & " " & Nz(LName))) & Iif(AND(LTrim(RTrim(Nz(FName,"") & " " & Nz(LName)))<>"",LTrim(RTrim((Nz(Alias,"")))<>""),")","")