Make ONE form with all the bells and whistles but NONE of the specifics. Save that form & call it George. Then when making a new form, copy George and add the specifics. Save it as the intended new form. That way you can let George carry the repetitive load. Seriously, when I did this for the U.S. Navy, I must have had about 35-40 forms that relied on the copy-template.
My prototype form had partial events pre-coded for Form _Open, _Load, _Current, _Unload, and _Close, plus _BeforeUpdate and _Error. If I was going to have command buttons with any frequency, those buttons existed already and had _Click routines that, in the template, didn't do anything - but they had error handlers. I had logos and titles in label boxes. I had things built in at the _Load event to look up user info based on determining the user from the Domain login info. I had a bunch of code ready to act as a template for common events like error-trap handler fragments just waiting to be copied (or called). Using the template, all I had to do afterwards was fill in the specifics for each unique form section - which I would have had to do anyway since they were specific... right? Doing it that way, I estimate that I shaved between 40% and 60% of the work. (Obviously, to shave off 60% meant that the particular form didn't do much.)