A family of Microsoft relational database management systems designed for ease of use.
Assuming you have (or will have) more than one user, you should put the code in the form's BeforeUpdate event. If you keep the date and number parts in separate fields, you could use something like this air code:
Dim db As Database
Dim rs As DAO.Recordset
If Me.NewRecord Then
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT Next_Complaint_Number FROM CompNum " _
& "WHERE Year(datefield) = Year(Date())", dbOpenDynaset)
If rs.RecordCount = 0 Then ' check if first complain in new year
Me.[number field] = 1
Else
Me.[number field] = rs!Next_Complaint_Number
End If
rs!Next_Complaint_Number = Me.[number field] + 1
rs.Close : Set rs = Nothing
Set db = Nothing
End If