I am having a hard time following this. Instead of querying the 3 or 7 fields in the main recordset, why don't you link them in a subform? The form you open when the user clicks the combo could be a subform. You can hide the subform until needed. You can hide the Master link field too. You can adjust the subform's recordsource on the fly.
Halfway through post #12 in this thread I explain how
https://www.accessforums.net/program...lts-39894.html
So this is where you can help yourself with the Null thing.
Adjust the where criteria as the user interacts with the form. They will not even know they are changing anything until the final step. Each time they change something, the code adjusts the strWhere
strWhere = (strWhere & " AND ") & "[SomeField] = '" & Me.txtField.Value & "'"
you could have a "Clear" button bring everything back to a default strWhere and the original RecordSource for the subform. Your base/default strWhere would be based on a condition that will always exist, like the PK.
strWhere = "FieldPK > 0"
When the user executes, you reassign the strSQL to the subform.
Code:
strSQL = "SELECT MyQry.* " & _
"FROM MyQry " & _
"WHERE " & strWhere & _
"ORDER BY [FieldPK];"
Me.RecordSource = strSQL
the syntax of the strSQL does not change, only the value of the strWhere changes.
You check for null or empty strings at the time the user requests to add or concatenate additional criteria to strWhere.