From your post #15 of this thread:
I'm using the function in a query (qryWklPayroll). Here it is.
OK, NOW we have a problem - You are writing a function in VBA but you are using it in SQL context. SQL context does not understand VBA. It only understands returned values, one per function.
IN A QUERY you cannot ever return a multi-valued thing. In the context of SQL queries, one field has one and only one value at a time. If you wanted two values, you need to call something twice (or call two somethings).
The suggestion of using a call ByRef to allow returning multiple values through implied arguments won't work because you cannot update or modify another returned field in the record in this way.
Using some kind of class module to get you mutliple values won't work either, because in SQL context, you can't USE multiple values. You have no place to put the extras.
A User-Defined-Type won't work because SQL doesn't play well with UDTs. (Not impossible - but here, I think it wouldn't work.)
If you want to return multiple function values from SQL, you absolutely MUST make multiple calls.
Now, if there is a way to make a JOIN work, some flavor of JOIN might be useful. A sub-query might also be useful. But functions in SQL context must ALWAYS be single-valued.