Maybe an app mine is similar. It's for vehicle maintenance, and includes a repair order table. That table has a status field, which they can change as appropriate. I also have an audit table which keeps track of any changes in the status. I add a record for each change with a function:
Code:
Public Function InsertAudit(RONum As String, ROStatus As String, UserName As String) As Boolean
CurrentDb.Execute "INSERT INTO tblROAudit(RONum, ROStatus, ActionDateTime, UserName) " _
& "VALUES('" & RONum & "', '" & ROStatus & "', Now(), '" & UserName & "')"
End Function
In your case I see the status field in the molds table. You can certainly add a test so users can only select a mold if it has a certain status.