Code seems fine, chould be a bit shorter,
Create a new sub and call it from each feild after update, remove code from before update.
Private Sub CheckForDuplicates()
Dim lID
Dim sWhere As String
sWhere = UCase(Replace(Me.cli_name & Mid(Me.cli_address1, 1, 10) & Mid(Me.cli_zip, 1, 5), " ", ""))
If sWhere = DLookup("[client_id]", "client", "[cli_prevent_dup]= '" & sWhere & "'") Then
MsgBox "There is already with these details?"
Cancel = True
End If
End Sub
then in the after update for each of the 3 feilds add
Call CheckForDuplicates
this should work fine and checks way before you go and save.