This sounds like a pretty complicated task you are undertaking. From the first part of your message it sounds like the HowTo I suggested would be a great place to start. One complication is that you are trying to join across several tables in Access. InfoPath can do this in the Data Connection wizard, but sometimes if the join is really complicated it can get hairy. However, if you use the query filter like I suggested in the HowTo, you will see no performance problems regardless of the size of the database.
The code for submitting via e-mail and printing can probably be found on these forums after a little searching, but they are however, another topic for discussion.
Matt Faus / Microsoft InfoPath MVPQdabra® Software / Streamline data gathering to turn process into knowledge