DAO recordset effiency
I'm going to leave the ms-access specifics to more proficient ms-access reviewers, as I'm not all that familiar with DAO and Access VBA.
If possible, switch to SQL Server ADODB.

DEADC0DE
Unless I'm missing something, you're inlining the SQL statements and Dim strSQL As String is an unused declaration.
These can be hard to spot without an add-in though. MZ-Tools has a review source code feature that can find unused variables and procedures; Rubberduck has a code inspections feature that can find that too, and a number of other code issues (disclaimer: I own and maintain rubberduck, see tag info).

UX Issue?
DoCmd.Hourglass True

You're turning the hourglass on, but you never turn it back off. I would expect this:
Exit_ClientSelection_AfterUpdate:
    DoCmd.Hourglass False        
    Exit Sub


The error handler is problematic:
MsgBox &quot;Error &quot; &amp; Err.Number &amp; &quot;: &quot; &amp; Err.Description &amp; &quot; in &quot; &amp; _
    VBE.ActiveCodePane.CodeModule, vbOKOnly, &quot;Error&quot;

This cannot reliably be reporting the source of the error, unless there's only 1 module in your VBA project. Proof:
Module1
Public Sub Boom()
    MsgBox VBE.ActiveCodePane.CodeModule
End Sub

Module2
Public Sub DoSomething()
    Module1.Boom
End Sub

If Module2 is the opened module when you run DoSomething, the message will say Module2, not Module1 where the &quot;error&quot; would have happened.
And it requires adding a reference to the VBIDE extensibility library in your VBAProject, which requires special security handling. Not ideal.