I suggest you build a query using your three tables that gives you the right records (look up query by form to see how to build one that uses the subform controls as parameters). Once you have it return the right records save it and use that in the Else part of the code you posted,
Code:
If IsNull(Me.cboShowSup) Then
' If the combo is Null, use the whole table as the RecordSource.
Me.RecordSource = "tblProduct"
Else
'strSQL = "SELECT DISTINCTROW tblProduct.* FROM tblProduct " & _
"INNER JOIN tblProductSupplier ON " & _
"tblProduct.ProductID = tblProductSupplier.ProductID " & _
"WHERE tblProductSupplier.SupplierID = " & Me.cboShowSup & ";"
Me.RecordSource = "qryMyNewQueryBySupplierID"
End If
Cheers,