
An alternative solution would be to assign an SQL statement to the control's RowSource property in code in the form's module, e.g. in its Open event procedure, e.g.
Me.lstContacts.RowSource = _
"SELECT ContactID, FirstName & "" "" & LastName " & _
"FROM Contacts " & _
"ORDER BY LastName " & IIF([TempVars]![NameOfVariable]="TitleAsc"
, "ASC", "DESC")
Set the list box's ColumnWidths property to 0 to hide the fist column.