At my work I do a similar thing to your number two suggestion, and it seems to work just fine - although I don’t see that there should be any difference between the two, but the latter is better in case you ever need to use the number without the asterisks.
Although:
“" & TRIM([field with a text value of 16050501]) & "”
might be better to use than what you’ve suggested…
You can also create a query that returns the same table with the field modified:
SELECT …, “" & TRIM([FieldName]) & "” as [FieldName3of9], … FROM …
And then use that query as the data source for your report. Note that such a query is not updatable, at least not for that field.
Note that using computed values in datasets in Access can be extremely slow when you’re using an ODBC datasource. (This is because Access sometimes has to synthesize the query by iterating the underlying datasource.) This has bit me several times when upsizing Access applications to a client/server model with a SQL back end. Keep this in mind if scalability is a concern in your product design.
Arg1 is just a variable name, the first line tells the function to accept a string value (the field with the number in it) and call it Arg1, then that value is used in the trim function. It doesn’t matter what you call it, as long as it’s the same in both places.