This would be stripped back to basic I think:
Code:
If Not IsNull(Me.cboSurgeonSearch) Then
strWhere = strWhere & "([Surgeon] = '" & Me.cboSurgeonSearch & "') AND "
End If
If Not IsNull(Me.cboProcSearch) Then
strWhere = strWhere & "([procedure] = '" & Me.cboProcSearch & "') AND "
End If
lngLen = Len(strWhere) - 5
If lngLen <= 0 Then
MsgBox "No criteria", vbInformation, "Nothing to do."
Else
strWhere = Left$(strWhere, lngLen)
Me.Filter = strWhere
Me.FilterOn = True
Me.Refresh
End If
So the way you add the dates is after the test of the procedure combo but before setting lngLen, add two stand-alone tests similar to the two tests of the combos. Each adds to strWhere when appropriate, including the " AND " at the end, since you have code to strip that off. Oh, and put the constant at the top. Actually I'd have it in a standard module so you can use it anywhere. My constants are always declared in one place so I can easily find them.
Public Const conJetDate As String = "\#mm\/dd\/yyyy\#"
Not to throw too much at you, but you aren't declaring your variables which isn't good practice. This will force the issue:
http://www.baldyweb.com/OptionExplicit.htm