Free Lessons
Courses
Seminars
TechHelp
Fast Tips
Templates
Topic Index
Forum
ABCD
 
Home   Courses   TechHelp   Forums   Help   Contact   Merch   Join   Order   Logon  
 
Home > Courses > Access > Templates > Calendar Control
Access Calendar Control

Replacement for Microsoft Access Calendar Control


 S  M  L  XL  FS  |  Slo  Reg  Fast  2x  |  Bookmark Buy Now

          Only $29.99
          Members pay as low as $15

This database template is a replacement for the Microsoft Access Calendar Control which was removed in Access 2010 and replaced with a simple date picker. If you want more control over how your users select dates, or want to design forms that look like a real calendar, then this template is for you.

You can use my Calendar as either a popup form or as an embedded subform. Either way you have complete control over picking of the date. I teach how to design forms and reports that look like monthly calendars (as well as storing and displaying appointment data) in my full Access Calendar Seminar, but if all you want is a quick form you can plug in to your database, then this template will do the trick.

Sample Database

If you'd like to download a sample copy of the database template, you can do so here. This is a non-editable version of the template which will let you see it work in action. Sample databases are available for 32-bit and 64-bit versions of Access.

Full Developer Database

Once you have purchased the full developer database template, come back to this page and click on the Download button below. This will give you access to the ZIP file containing the Template ACCDB file. The full version will run on 32-bit or 64-bit Access 2013 or higher (possibly 2007, but I haven't tested it). There is also an older database for Access 2007 users with the old Calendar Control, and a database for 2003 users in MDB format.

Full Video Seminar

If you would like to learn how this database was built, again, pick up a copy of my Access Calendar Seminar. It covers all of the basics. If you want to see how this database, specifically, was built, then let me know. if enough people are interested, I'll record it as a separate lesson.

License

For internal use only. This template does NOT come with a royalty-free license. You may only customize the template for your business needs and for use within your organization at one location ONLY. You may not resell or distribute any form of this template to others without express written permission. Contact me for additional information on obtaining a license to distribute if you plan on including this template in a product you are reselling. Additional licenses are required if you plan on using this template with more than ten (10) employees or in multiple locations within your organization.

Not a Finished Product

Please keep in mind that most of my template databases are not designed to be finished products that are ready to go in a working environment. My templates are meant as starting points for you to customize for yourself so you don't have to reinvent the wheel. This requires that you have a basic understanding of Microsoft Access development. To work on most of my databases you should have completed my Access Beginner series and the first couple levels of my Expert series at a minimum. Most of my databases require knowledge of SQL and VBA as well. Keep in mind that most of my templates are not like off-the-shelf software. They're starting points for developers to be able to modify and use as their own. It really is going to be in your benefit to watch all of the prerequisite videos so you understand the database and how it works moving forward. This is not like QuickBooks where you just install it and use it. My templates are mostly designed for people who already have an understanding of how Microsoft Access works.

Customize For Your Needs

If you would like to discuss customizing this template for your needs, and integrating it into your current setup, please see my consulting page for details. While I no longer accept custom jobs that are specific to a single user, I may include your features in a future version of this template if they have mass appeal. If you are looking for custom enhancements made to this template just for you, visit my Developer Network.

Technical Support

Please note that technical support is NOT guaranteed for any of my courses, seminars, or templates. If you require help with modifying this template, you may post a question in the Forums, however an answer to your question is not guaranteed. If this template comes with an accompanying Seminar, then you should purchase that Seminar to see how the database was constructed. If not, then you should have taken the suggested courses. Most of my templates are designed on a Developer level and you should have a thorough understanding of SQL and VBA before attempting to modify them. If you have a problem with one of my databases, I will only support the unmodified database exactly as it's downloaded from my site. If you have modified it in any way, it may not be something I can help you with. You can post in the Forums, and I may be able to help you, but if the issue doesn't exist in my unmodified database, it's not something I can support.

Questions?

Got sales or customer service questions about this template? Feel free to contact me. If you have technical "how do I" questions about this template, you discover a bug, or want to suggest a new feature, then please post your comments below.

Order Now

Keywords

microsoft access, ms access, ms access tutorial, #msaccess, #microsoftaccess, #help, #howto, #tutorial, #learn, #lesson, #training, #database, #templates, calendar control, calendar popup, calendar template

 

Comments for Access Calendar Control
 
Age Subject From
4 monthsRequery Form After ClosingJames Hopkins
4 monthsRuntime Error -214650094James Hopkins
4 monthsSelect Record Between DatesJames Hopkins
2 yearsAccess Calander ControlGreg Hodson
2 yearsSubform ReferenceSami Shamma
3 yearsA little help pleaseTimothy Schmidt
3 yearsCopy a ModuleTimothy Schmidt

 

Start a NEW Conversation
 
Only students may post on this page. Click here for more information on how you can set up an account. If you are a student, please Log On first. Non-students may only post in the Visitor Forum.
 
Subscribe
Subscribe to Access Calendar Control
Get notifications when this page is updated
 
Intro In this video, I will show you my custom Microsoft Access calendar control, designed as a form with VBA code to give you a flexible and user-friendly date picker for your databases. We'll talk about the limitations of the old ActiveX calendar control and the native date picker, then I'll show you how to use this calendar form as a pop-up or as an embedded subform in your own database. You'll see how to add the calendar to your forms, select dates, and customize the design to fit your needs.
Transcript Due to popular demand, I put together my own version of the Access Calendar Control. This will allow you to give your users a better-looking calendar pop-up that you can control, even if they're using newer versions of Access. You don't have to worry about distributing an outside ActiveX Control.

If you remember older versions of Access from 2007 and before, they came with a date-picker control and ActiveX Calendar Control. It was a Microsoft object that you could embed inside your forms, and it allowed your users to pick a date. That date could then be stored in any field that you wanted it to. Unfortunately, Microsoft stopped distributing this calendar control with Access 2010. The reason is that now date fields have this little pop-up calendar control right next to them, and you can pick a date from here. However, this is very limited. You can't do anything to it. You're stuck with what Access gives you.

A lot of people have been emailing me about how to bring back that old calendar control, and there are some ways you can, but it's very difficult to do. I cover building full-screen calendars and printable calendar reports in my Access Calendar Seminar. As you can see, my calendar seminar was designed for Access 2007, which still had the calendar control from Microsoft in it. That seminar was more designed to teach you how to make a printable report that looks like a monthly calendar.

You can get around having to have this calendar control by simply removing it and replacing it with this simple date field, and you can use Microsoft's date picker to pick a date. However, if you want something that looks a lot nicer and gives you a lot more control over the specifications of picking a date, that's where my new calendar control comes in.

Now, it's not really a calendar control. It's a calendar form with a little bit of programming code behind it, but I'm going to show you how it works right now.

This is the sample database that I put together, and this is what you get with the template.

There are two ways you can use my new calendar form. You can use it as a pop-up or as an embedded calendar inside another form, depending on what your needs are.

Let me show you the pop-up first. Here's the pop-up form. I put two date fields on here to show you different ways you can use this. You can either click on a button to select a date, and there's my calendar control. You can see today's date is highlighted. You can flip through the months and the years, and then click to select a date. As soon as you click, notice it's highlighted, and the date goes back here in the field. If you want to select today's date, just click on the "Today" link down here. When you're done, you can close this.

I've made it a modal pop-up form so the user can't click back here without closing the form first. You can very easily put your own OK button down here to simply close the form. Remember, you get complete control over the form template. You're not limited to someone else's design.

You can also use a double-click event, double-click, and there's the calendar. Pick a date, close it, and there you go. That's the pop-up form.

You can also use it as an embedded object. Here's the embedded version. I have two date fields up here. The calendar control works with the last control that you click on. Right now you can see the blinking cursor is in Date 1. If I pick a date, it goes right into Date 1. Pretend that's a start date, for example. Then click on Date 2, and pick a second date. If you decide you want to go back up here, click on that one and pick a different date.

This is simply an embedded subform. The template comes with the main menu, which is just simply two buttons to open up these other forms. It's got the pop-up sample and the embedded sample, so you can see both ways.

The pop-up form is really easy. If you want to use this as a pop-up form, it's super simple. In design view, this is all you have to do: Set up your date field, and then in the code for a button, all you have to say is "SelectDate me.name," that gives you the name of the form, and then the field on that form you want to send the date back to. In this case, there's my Date 1 and my Date 2, which are these two fields right here. The calendar control needs to know where to send the date once you pick it. So that's what that is, and that's all you have to do. "SelectDate" is a function that I created. The function is embedded in "myCalendarMod." You have to include the "calendar mod" and the "myCalendar" form, and that's it. These other ones are just the sample template code. That's the template for the pop-up and the embedded and the main menu which you don't even need. So it's one line of code and just specify the field, and that's it. If you want to give it a different form name you can too.

The embedded one requires a little more work. Here's the embedded form. For this, you have to use an on-click event. When you click on this field, it tells the subform which field to use. If you want to use it as an embedded form, it's a little bit more work but not much. Just go to Events, On Got Focus, go to the build event, and it's right here. "SelectDate thisform," and then here's the sample code that you have to use right there, and that's it. You just have to put this in there and then copy in this subroutine. It will use the "me.activecontrol.name" to get the name of the control that you're currently on. So you just copy and paste this and you're good to go.

So that's it. That's how you do it. It's real simple. It's real straightforward. You just click your button, pick your date, the date goes back into here, and you can close that form.

Again, the benefits are you get more control. If you want to modify this form you can. In fact, you could put events in here. These are all just simple labels. You can click on one of these and then maybe have a list of appointments and scroll next to it, or whatever you want to do, this code is completely yours. You can play with it. You can modify it. You could make these combo boxes. It's one of the things I thought up where you can click a dropdown and then pick a month. Click a dropdown and pick a year. I just went with simple little buttons to cycle between them, but you can do whatever you want. This code becomes yours.

So that's my replacement for the calendar control. If you have previously purchased my Access Calendar seminar, you will get a discount for purchasing this calendar control template. Look on the page that you're watching this video on now for more information.

If you would like to see a video recorded showing you exactly how I built this calendar control, let me know. Post a comment below or send me an email or contact me on my website customer contact page and let me know.

The control is based loosely on the same code that I used in the full Access Calendar seminar. Setting up the dates in the different labels and the events is all pretty much stuff I've covered before in the full calendar seminar. If enough of you want to see how I built it, let me know. I'll be happy to put together another mini tutorial for it.

Thanks for watching, and of course if you have any questions, let me know.
Quiz Q1. Why did Microsoft stop distributing the old calendar control in Access starting in 2010?
A. Because date fields in Access now come with a built-in date picker
B. Because users did not use the calendar control enough
C. Because it was causing too many software bugs
D. Because it was only compatible with Windows XP

Q2. What is the main limitation of the built-in Access date picker introduced in newer versions?
A. It cannot be customized or modified
B. It cannot select dates before 2000
C. It only appears on reports
D. It requires an internet connection

Q3. In Richard's replacement for the Access calendar control, what is actually provided to the user?
A. A custom form with code behind it
B. An outside ActiveX Control
C. A Microsoft-supplied calendar object
D. A third-party application

Q4. How can you use the new calendar form presented in the video?
A. As either a pop-up or an embedded subform
B. Only as an embedded subform
C. Only as a pop-up form
D. Only in reports

Q5. What happens when you select a date on the calendar form?
A. The date is sent back to the relevant field in the form
B. The date is sent to a separate database
C. An error message appears
D. The calendar form automatically prints a report

Q6. Which function must be called when implementing the calendar as a pop-up?
A. SelectDate
B. CalendarOpen
C. SetDate
D. ShowCalendar

Q7. If you use the embedded version, how does the calendar know which field to update?
A. By tracking the last control the user clicked on or focused
B. By sending to all date fields at once
C. It randomly chooses a date field
D. You must hard-code the field each time

Q8. What is a stated advantage of this custom calendar form over the built-in date picker?
A. You have complete control over its design and functionality
B. It is faster than the built-in date picker
C. It only works on older versions of Access
D. It is automatically included with every Access installation

Q9. Where is the code for the SelectDate function located?
A. In the myCalendarMod module
B. In the main menu form
C. In the sample template code only
D. In the Access start-up options

Q10. What flexibility do you have with the custom calendar form template?
A. You can modify and enhance it as needed
B. You cannot make any changes
C. It only works with certain date formats
D. It requires a special license from Microsoft

Answers: 1-A; 2-A; 3-A; 4-A; 5-A; 6-A; 7-A; 8-A; 9-A; 10-A

DISCLAIMER: Quiz questions are AI generated. If you find any that are wrong, don't make sense, or aren't related to the video topic at hand, then please post a comment and let me know. Thanks.
Summary Today's video from Access Learning Zone introduces a new version of the Access Calendar Control that I developed in response to frequent requests. This tool gives your users an appealing and more flexible calendar pop-up for date selection in Microsoft Access, with no need to rely on external ActiveX controls or worry about compatibility with newer Access versions.

If you remember Access 2007 or earlier, those versions included a built-in date-picker and a Microsoft ActiveX Calendar Control that you could place on your forms. Users could easily select dates, and you could store those dates in any desired field. However, Microsoft discontinued this calendar control starting in Access 2010, replacing it with a basic, built-in date picker for date fields. Unfortunately, this modern picker is quite limited and does not allow you to customize its appearance or behavior.

Many of you have asked how to bring back the original calendar control. While there are some complicated methods, they are far from ideal. In my Access Calendar Seminar, I cover building full-screen monthly calendars and printable reports, which was especially relevant back when Access still had the calendar control. Mainly, that seminar focused on creating customizable calendar reports.

You can always remove the need for the old control entirely by simply using a regular date field with Microsoft's newer date picker. However, if you want a calendar tool with more options and a better user experience, this new calendar form will help.

Strictly speaking, this is not a control in the conventional sense. It is a form with some VBA behind it, but it functions much like the classic calendar picker.

The template includes a sample database demonstrating this feature. You have two main ways to implement it. You can use the calendar form as a pop-up, or you can embed it directly inside another form depending on your needs.

Let me describe the pop-up method first. The sample pop-up form contains two date fields to illustrate different uses. You can choose a date by clicking a button. When you do this, the calendar appears with today's date highlighted. You can move back and forth through the months and years, select a desired date, and the field will update immediately. There is also a "Today" button for convenience, and when you're finished, you can close the pop-up. The pop-up is modal, so users cannot interact with the main form until they close the pop-up. You can easily customize it further, for example, by adding your own OK button.

The calendar can also be launched by double-clicking the date field. Once you're done picking a date the calendar closes and the field updates.

For the embedded version, this is handled as a subform inside your main form, with two sample date fields. The calendar works with whichever date field was last selected. Say you have a start date and an end date, you click to choose the start date, pick a day, and then click the second field to set the end date. Switching back and forth is seamless.

The template includes a simple main menu with buttons to open the pop-up or embedded samples so you can see both in action.

Using the pop-up calendar is very simple. In your form's design, set up the desired date field and in your button's code, call the SelectDate function, passing in the form and field names so the calendar knows where to send the selected date. This function is located in the included module, and you just need to make sure the module and calendar form are added to your database. The other objects in the template are primarily for the sample application.

The embedded calendar requires a little more setup. When a date field gets focus, an event tells the subform which field is currently active. You simply add the appropriate code to the correct event, and copy a small subroutine. This subroutine uses the current active control to direct the calendar's output. Once this is in place, the embedded calendar becomes just as easy to use as the pop-up version.

The major advantage of this form is the level of customization. Since you have access to all the code and design elements, you can adjust the calendar however you prefer. You can add your own event labels, buttons, or even additional data, such as appointments alongside the calendar. It's also possible to swap the simple navigation buttons for drop-down boxes to quickly pick a month or year. The template serves as a starting point for whatever custom calendar solution your Access database requires.

If you have already purchased my Access Calendar Seminar, you will receive a discount if you decide to get this new calendar template. Details can be found on the page where this announcement is posted.

If you're interested in a detailed step-by-step demonstration of how I created this calendar, please let me know by commenting or contacting me directly through my website.

This calendar tool uses concepts and code from my previous calendar seminar, especially for handling dates and events. If enough people express interest, I am happy to make a focused tutorial on building it from scratch.

Thank you for your attention. If you have any questions, just reach out. You can find a complete video tutorial with step-by-step instructions on everything discussed here on my website at the link below. Live long and prosper, my friends.
Topic List Access Calendar Control replacement overview
Using the new calendar form as a pop-up
Highlighting today's date in the calendar
Navigating months and years in the calendar
Selecting a date and sending it to a field
Using the "Today" shortcut in the calendar
Making the calendar form modal
Customizing the calendar form template
Using a double-click event to open the calendar
Embedding the calendar form as a subform
Managing multiple date fields with the embedded calendar
Using "SelectDate" function in button code
Passing the form and field names to the calendar control
Setting up events for the embedded calendar form
Using "On Got Focus" to trigger the calendar in embedded mode
Copying and pasting sample event subroutines
Customizing the calendar for additional features
Modifying calendar navigation options (dropdowns, buttons)
Gaining full control over the calendar code and design
 
 
 

The following is a paid advertisement
Computer Learning Zone is not responsible for any content shown or offers made by these ads.
 

Learn
 
Access - index
Excel - index
Word - index
Windows - index
PowerPoint - index
Photoshop - index
Visual Basic - index
ASP - index
Seminars
More...
Customers
 
Login
My Account
My Courses
Lost Password
Memberships
Student Databases
Change Email
Info
 
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search The Site
Code Vault
Collapse Menus
Help
 
Customer Support
Web Site Tour
FAQs
TechHelp
Consulting Services
About
 
Background
Testimonials
Jobs
Affiliate Program
Richard Rost
Free Lessons
Mailing List
PCResale.NET
Order
 
Video Tutorials
Handbooks
Memberships
Learning Connection
Idiot's Guide to Excel
Volume Discounts
Payment Info
Shipping
Terms of Sale
Contact
 
Contact Info
Support Policy
Mailing Address
Phone Number
Fax Number
Course Survey
Email Richard
[email protected]
Blog RSS Feed    YouTube Channel

LinkedIn
Copyright 2026 by Computer Learning Zone, Amicron, and Richard Rost. All Rights Reserved. Current Time: 4/10/2026 5:25:17 AM. PLT: 1s
Keywords: templates access microsoft access calendar control, calendar popup, calendar template  PermaLink  Microsoft Access Calendar Control