I have done something like that before. I would create code in the Form's VBA module, the form that is the subform. I would use the double click event of the control the user considers as the one that identifies the unique record (like the client name). Then I would use VBA to grab the ID from that current record, store it in a variable.
I would concatenate that variable with the relevant control values from the main form, using the same double click event use Docmd.Openform and include the WHERE criteria that is your concatenated string.
Something like this, assuming number values for your controls...
Code:
Dim lngClientID As Long
Dim strWhere As String
If Forms!NameOfMainForm.Forms.NameofControl1.Value = Null Or Forms!NameOfMainForm.Forms.NameofControl2.Value = Null Then
MsgBox "Please make a selection before opening form."
Exit Sub
End If
lngClientID = Me.ClientID.Value
strWhere = "[ClientID] = " & lngClientID & " AND [Field1] = " & Forms!NameOfMainForm.Forms.NameofControl1.Value & _
" AND [Field2] = " & Forms!NameOfMainForm.Forms.NameofControl2.Value
DoCmd.OpenForm "frmFormName", acNormal, , strWhere