The Access reporting engine is, itself, immensely powerful as a means of displaying data held in Access database tables. However, it is limited in terms of its ability to display additional content which is not derived from database tables. Generally, such information needs to be placed in static form in the report header or footer or as labels or other non-dynamic objects in the report detail section. A further major restriction is the impossibility of 'interrupting' the flow of the detail section of the report once it has begun to pick up records from the underlying recordset. InfiniteReport completely overcomes these limitations by providing to the programmer a 'report object' which is constructed in code, section by section, prior to the display of the final report on screen.
Sections can include text, graphics, lines, spaces, page breaks and 'user-controls'.
A user-control can itself contain anything which an Access programmer could conceivably place into a report, including entire conventional Access reports constructed in the conventional manner. What is more, an InfiniteReport can also be placed as a subreport inside any conventional Access report. Each section of an InfiniteReport is, itself, an instance of a 'Section Object'. The properties of each section may each be set in code as the report is created allowing complete control over page positioning and format of each and every element on the screen. Furthermore, the properties of any prior section can be accessed randomly when constructing later sections.