You might also try using SQL to build a cursor that contains all of the fields from all of the records that you need in your report, even if you end up duplicating some information in subsequent records. If you have all of the information in one file you'll eat up some time collecting the info, but the actual printing / viewing of the report will go much faster than if it has to maintain relationships to numerous tables.