Thanks, Pat. That's exactly how this works, if I have understood your description correctly (which was much clearer than my attempted description of this database design.)
The specific field names are stored as field values, that's the essence of it. The actual field names are generic, so...