AfterUpdate occurs after the record has already been saved. If you store the timestamp in the record after it has already been saved, the record will have to be saved a second time. That will happen automatically in most cases and you won't notice it, but it's inefficient.
The second save could actually cause a slight problem in some cases. For example, if you have a "weak validation" that you're doing in the Form's BeforeUpdate event (such as warning the user about an invalid field but allowing him to override it and save the record), the BeforeUpdate event will occur a second time for the second save and the weak validation will occur twice. That could be confusing to the user.
Note that setting the timestamp in the BeforeUpdate usually does no harm. If the record save is canceled by Access after you've filled in the timestamp (this could occur because of a key violation, for example), the timestamp won't have been saved, and you will simply overwrite it with a new timestamp the next time BeforeUpdate occurs. Just be aware that in this situation, the timestamp will no longer be Null after the first update cycle fails, so don't depend on timestamp=Null in your logic. This dependence rarely occurs in reality, though.
Rick Sprague
Want the best answers? See faq181-2886
To write a program from scratch, first create the universe. - Paraphrased from Albert Einstein