Read too quickly. You did say VBA. VBA, VBScript my brain crosses up.
The problem I'm having, and it seems like you too, is that there is no "OnCurrent" event for a DAP. If you look at the events under Window in the Script Outline, that's like selecting the form in Access, I don't see any event to program for the current record.
So what to do? You say you "NEED" to hide the fields if they are null. Can you Default the memo field in your tables to something like "No comments for now." This way, the user won't see a blank field but that no comments were entered.
How to avoid them being updated? You can lock the fields. The option is ContentEditable = False.
If they wanted to add comments, you could create a command button, "Add Comments", that when clicked, the code would make them editable - ItemNumber.ContentEditable = True
Just a thought. I'm stuck on how to make the fields invisible when a record is displayed.
If you come up with anything, please post. This obviously could be helpful. Also, I'll keep searching.