How to Create an Access Scheduling Calendar Compatible with Microsoft 365
Question details
The user needs to create or integrate a scheduling calendar in Microsoft Access 2016 and Microsoft 365 that stays visible, displays specific values, and highlights selected dates.
- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Building or updating an Access database application that requires an interactive scheduling calendar or date picker interface.
- Observed behavior
- Legacy ActiveX calendar controls (Calendar.ocx) are no longer supported in newer versions of Access, requiring users to find compatible modern templates or custom VBA implementations.
Before modifying your database, check whether your Microsoft 365 installation is 32-bit or 64-bit, as downloaded VBA calendar templates must match your system architecture to function correctly.
Implement a Custom VBA Calendar Template
Replace the discontinued Calendar.ocx control with a modern, form-based Access calendar template developed by the community.
Because Microsoft removed the native ActiveX calendar control starting in Access 2010, the best way to get a permanently visible calendar grid that highlights dates is to use a form comprised of native text boxes and VBA code.
Search online for an updated 64-bit compatible Access calendar template. Community resources like DiamondAssociates, Access World Forums, or GitHub repositories often host free, modern implementations.
Download the example database (usually an .accdb file) that contains the calendar forms and related VBA modules. Extract the file to a trusted location on your PC.
Open your target Access database. Navigate to the 'External Data' tab, select 'New Data Source' > 'From Database' > 'Access', and browse for the downloaded template file.
In the Import Objects dialog, select the specific calendar forms and modules, then click 'OK' to import them into your current database.
Embed the newly imported calendar form into your main scheduling form as a subform, or set it to open via a command button, replacing any legacy Calendar.ocx references.
Enable the Native Access Date Picker
If you only need users to select a date rather than view a persistent scheduling calendar, use the built-in Date Picker property.
Need a simpler way to manage schedules? Try WPS Office
Building interactive scheduling calendars in Microsoft Access requires complex VBA coding and database design. If you simply need to track schedules, manage dates, and organize daily tasks, WPS Spreadsheet offers hundreds of free, ready-to-use calendar templates. It is a lightweight, free alternative to Microsoft Office that doesn't require any programming.
- 1. Install WPS Office: Download and install the free WPS Office suite on your device.
- 2. Access Calendar Templates: Open WPS Spreadsheet, click 'New', and search for 'Calendar' or 'Schedule' in the template gallery.
- 3. Start Scheduling: Select a template that fits your needs and start entering your scheduling data immediately.

Frequently Asked Questions
Why is Calendar.ocx missing in Microsoft 365?
Microsoft discontinued the Calendar.ocx ActiveX control starting in Access 2010 due to security concerns and modernization efforts. Modern versions of Access use native Date Pickers or require custom forms to display a calendar.
How can I highlight selected dates in a custom Access calendar?
To highlight dates in a custom form-based Access calendar, you must use VBA to track the selected date variable and apply Conditional Formatting to the text boxes representing the days on the calendar grid.
Can I still use older calendar templates from Access 2003 or 2007?
Yes, but they usually require modifications. Older templates were written for 32-bit systems. If you are using a 64-bit version of Microsoft 365, you will need to update the VBA code to include 'PtrSafe' declarations for Windows API calls.




