A few comments if I may:
- that isn't a macro, it's a procedure - specifically a private sub. Granted, in Excel, these are referred to as macros, but that has an entirely different context in Access
- learning vba code is a long curve for most of us. There is no magic bullet for replicating such events as this. You need to know the properties and methods of an object in order to write code for it, or you resort to macros, which have their limitations. Experienced developers don't use macros 99.5% of the time.
- I presume you're showing the top of the module code because I see Option Compare. Every module should have Option Explicit at the top or else you deserve the trouble you get. This is an option in vb editor "Require variable declaration". On the subject of variable declaration, you appear to be using variables that have not been declared.
- it is generally considered to be bad design to store calculations, but I can't be sure if that is the case here as we don't know what updateddonations is
- pretty sure this is incorrect - Else: The colon will make this a line label and it will never execute
- there are other potential issues, such as if updateddonations is null, none of these status values will be applied
- lastly in reference to your post, please use code tags (#) and indentation when posting code. It makes it easier to read.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.