You Can't pass the form reference to SQL server it has no clue what it is.
You need to pass the actual value into the pass through .
Code:
Dim db As DAO.Database
Dim qDef As QueryDef
Dim StrSQl as string
StrSQL = "SELECT YourFields FROM Phones WHERE Location = '" & Forms!DeskSearch!Location & "'"
Set db = CurrentDb()
Set qDef = db.QueryDefs("Your_Saved_PT_Query")
qDef.Connect = db.TableDefs("A_SQL_LinkedTable").Connect
qDef.SQL = StrSQL
qDef.ReturnsRecords = True
qDef.Close
Set qDef = Nothing
Set db = Nothing
You can now use Your_Saved_PT_Query as the recordsource.
However, unless your table has millions of rows, simply link to it and create a local query to do the filtering.
This isn't a efficient use of a pass through, it's only one table filtered.