&& table must be open function FieldListFromExpression( s, TableAlias ) local i, n, out, expArray[1] TableAlias = iif(!empty(m.TableAlias), m.TableAlias, select(0)) #define sep [!@#$%^&*()-+=></,"] + '[]' for i = 1 to len(sep) s = strtran(m.s, substr(sep, m.i,1), NL) endfor #undefine sep n = alines(expArray, m.s, TRUE ) Out = '' for i = 1 to n do case case empty(expArray[m.i]) case empty(fsize(expArray[m.i], m.TableAlias)) case !empty(m.out) Out = m.out + ',' + expArray[m.i] otherwise Out = expArray[m.i] endcase endfor return Out *---------------------------------------------------------------------------