Create an Access Report for Attendance by Date | MS Access Fix
Question details
The user wants to generate dynamic MS Access reports via a button click to show patrons served today and a mailing list of patrons missing within a specified date range.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Setting up an attendance tracking database that needs daily reports and date-range absentee lists.
- Observed behavior
- Needs an efficient workflow to query attendance dates and output them to reports without manually populating new data tables.
Ensure your database contains properly structured and related tables, such as a main Patrons table (with PatronID) and a Services/Visits table (with PatronID and DateServed).
Use Queries as the Record Source for Reports
Instead of creating separate tables for reports, build dynamic SQL queries with date criteria and link them to command buttons for immediate reporting.
Reports should normally use queries as their record source. This prevents database bloat and ensures the data reflects the exact moment the report is generated.
Go to the 'Create' tab and click 'Query Design'. Add your Patrons and Services tables. Drag the required fields into the grid. In the Criteria row under your DateServed field, type Date() to filter for the current day, then save the query.
Create a second query for patrons who were not served. Use an Unmatched query setup. In the DateServed field criteria, type Between [Enter Start Date] And [Enter End Date] to prompt the user for a custom date range.
Navigate to the 'Create' tab and click 'Report Wizard'. Select your newly created queries from the dropdown as the data source and follow the prompts to format your reports.
Open your main dashboard Form in Design View. Drag a 'Button' from the controls menu onto the form. In the Command Button Wizard, select 'Report Operations', then 'Open Report', choose your target report, and finish the setup.

Manage Attendance Data Easily with WPS Office
While Microsoft Access is a powerful relational database, many daily attendance tracking and reporting needs can be accomplished faster using spreadsheets. WPS Office provides a free, lightweight alternative with advanced data filtering and PivotTable capabilities.
- 1. Set up your tracker: Open WPS Spreadsheet and create a sheet with columns for Patron Name, ID, and Date of Visit.
- 2. Filter by date: Select your header row, click the 'Data' tab, and choose 'Filter' to easily view patrons for 'Today'.
- 3. Generate reports: Highlight your data, go to 'Insert' > 'PivotTable', and drag your fields to quickly generate printable attendance summaries.

Frequently Asked Questions
Why use a query instead of making a new table for reports?
Queries extract data dynamically without duplicating it. Populating a separate table for a report wastes storage space and risks displaying outdated information if the table isn't updated before printing.
How do I make Access ask for a date range when opening the report?
In your query's Design View, enter parameter prompts enclosed in square brackets in the Criteria row, such as Between [Enter Start Date] And [Enter End Date]. Access will display a popup asking for these dates before loading.
Can I have one button print the report instead of just opening it?
Yes. When using the Command Button Wizard on your form, select 'Report Operations', but instead of choosing 'Open Report', select 'Print Report' or 'Preview Report' depending on your needs.




