Making it too simple and too far removed from the real thing can be very problematic for those trying to help. For one thing, Name is not a label (name) you can use for any field or control. The only way I can see accomplishing the goal is to either create a custom function if this is strictly working against tables (I struggle too much with sub queries to be of much help there) or you could calculate this on a form. The problem I'd have with this outside of the procedure method is how to get around the circular reference since name has to refer to itself when looking up the DMax of Age based on that name. A calculated textbox on a form along with a textbox that references the table name field can solve the circular reference issue.
Code:
=IIf(IsNull([text2]),DMax("[age]","[tblMaxWhereNull]","[svname] = '" & [text0] & "'"),[text2])
where text2 holds the name, text0 the age and the calculated age control contains the expression. If the age appears Null, the calculation provides the age you need. However, this would only be a temporary thing that allows you to do the updates and fix things. It shouldn't be an on-going concern, otherwise I also tend to think you have a data structure issue. Be warned that DMax calculations on your table might be slower than you'd like, and will only slow down as the records increase, which is why I don't consider this a viable solution for on-going data fixing.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.