Is "ClientID" text or a long integer? If it is a long, you don't need delimiters.
You have two lines setting Me!MatterID. The second line changes the first:
Code:
Me!MatterID = "WO-" & rs!TotRec + 1
Me!MatterID = rs!TotRec + 1
Try this:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
strSQL = "SELECT count(tblClientMatter.MatterID) as TotRec"
strSQL = strSQL & " FROM tblClientMatter"
strSQL = strSQL & " WHERE (tblClientMatter.ClientID)= '" & Me.ClientID & "'"
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
Me!MatterID = "WO-" & rs!TotRec + 1
Me!MatterID = rs!TotRec + 1 ' Why two lines setting Me!MatterID ???
Me.Repaint '<<- added
Set rs = Nothing
End Sub