create a table to store the results in (tblCounts), and one to list all of the codes to search for (tblCodes)
In tblCounts have one field for each possible code to search for, and name the field the same as the code
In tblCodes have one field only, and add a record for each code, name this field CodeField.
Then use this code, only change the "YourTableName" to the actual name of your table you want searched, and the "[DateField]" to the name of the Date/Time field in this table
This code only check for the current month and year, so you'd have to change that to reflect other months, but it should give you a starting point.
Private Sub GetCounts_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL ("Delete * From tblCounts"

DoCmd.SetWarnings True
Dim db As DAO.database, rstTable As DAO.Recordset
Dim rstResults As DAO.Recordset, rstCodes As DAO.Recordset
Dim tdf As DAO.TableDef, fld As DAO.Field
Dim intCount As Integer, strCode As String, strFldName As String
Set db = CurrentDb
Set rstResults = db.OpenRecordset("tblCounts"

'table with results
Set rstCodes = db.OpenRecordset("tblCodes"

' table with codes to search
Set tdf = db.TableDefs("YourTableName"

' table you want searched
Set rstTable = db.OpenRecordset("YourTableName"

If rstTable.RecordCount > 0 Then
With rstTable
.MoveFirst
Do While Not .EOF
intCount = 0
If Month(rstTable![DateField]) = Month(Now()) And Year(rstTable![DateField]) = Year(Now()) Then
With rstCodes
.MoveFirst
Do While Not .EOF()
strCode = rstCodes!CodeField
For Each fld In tdf.Fields
strFldName = Nz(rstTable(fld.Name), " "

If InStr(strFldName, strCode) > 0 Then
intCount = intCount + 1
End If
Next fld
With rstResults
If .RecordCount = 0 Then
.AddNew
Else
.MoveFirst
.Edit
End If
'add count to code field
'this code assumes that the field name is the same as the code
rstResults(strCode) = intCount
.Update
End With
intCount = 0
.MoveNext
Loop
End With
End If
.MoveNext
Loop
End With
End If
MsgBox "Done"
ExitHere:
Set db = Nothing
Set rstTable = Nothing
Set rstCodes = Nothing
Set rstResults = Nothing
Set tdf = Nothing
Set fld = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Number & " : ", vbCritical, "Error While Processing "
GoTo ExitHere
End Sub
PaulF