none
MSCAL.OCX version 7.0

    Question

  • Hi,

    I was wondering if I could get some help with the following error when opening a database Access .mdb

    "Your Microsoft Access database or project contains a missing or broken reference to the file 'MSCAL.OCX' version 7.0"

    It is very annoying it comes up everytime you run the database.

    I have changed the calendar in my database built in Access 2003 (which is working really well) so that it uses the datepicker code obtained from http://www.mvps.org/access/forms/frm0057.htm

    This still does not work. It keeps telling me the same error.

    I wonder if there is a way of working around this issue.

    Any help would be greatly appreciated.

    Thank you in advance

     

     

     

     

    • Moved by Sally Tang Tuesday, July 20, 2010 3:21 AM (From:Office 2010 Setup and Deployment)
    Monday, July 19, 2010 1:23 AM

Answers

All replies

  • Hi,

     

    Thank you for using Office IT Pro General Discussions forum. 

     

    The calendar control is not shipped in Access 2010 for a number of reasons. If you open a form that has mscal.ocx and you will see the following error: “Your Microsoft Office Access database or project contains a missing or broken reference to the file 'MSCAL.OCX’.”

    To fix this issue, you will need to remove this from your application. Here are some alternatives:

    1. Use datepicker. Here is an example on the datepicker- http://office.microsoft.com/en-us/access/HA102835451033.aspx  

    2. Use other 3rd-party calendar controls that are available on the Web. Here are a couple of community provided calendar controls:

    http://www.granite.ab.ca/access/calendars.htm  

    http://www.accessmvp.com/JConrad/accessjunkie/calendars.html  

     

    For details, you can refer to this blog:

    http://blogs.msdn.com/b/access/archive/2010/01/09/access-2010-deprecated-features-and-components.aspx

     

    Best Regards,

     

    Sally Tang

     

    • Marked as answer by Sally Tang Monday, July 26, 2010 4:54 AM
    Tuesday, July 20, 2010 7:59 AM
  • when you say "you will need to remove this from your application" do you mean from the database file? Or from Access 2010?

     

    My database which has the same error message is used and updated by people running both Access 2003 and 2010. If I replace it with datepicker or another calendar control will it continue to work on both versions?

    thanks

    John

    Friday, December 17, 2010 1:47 AM
  • Good question.  I have the same 2003 => 2010 issue.  I need a calendar that will work in both versions.  Thanks.  David
    Tuesday, December 13, 2011 8:43 PM
  • It looks like this thread may have died on the vine ... but what the heck ... I'll ask anyway.

    Is there a reason why you can't simply install the MSCAL.OCX and include it in your references?

    (C:\Program Files (x86)\Microsoft Office\Office 12\MSCAL.OCX)

    I have done this on my PC, and it seems to work.

    Yes, it's a PITA to have to install it on any/all PC's that you have your program on ... but that is just what we seemingly have to endure with Access versioning.

    PS. Looking in the above directory, it appears that the MSCAL also requires a few related files:

    MSCAL.CNT, MSCAL.DEP, MSCAL.HLP

    Perhaps there is an install program that does the whole thing? I am off to research that now.

    Apparently Microsoft used to have this available in the download center, but has since removed it. :(

    It also appears that even if you have the OCX, it has to be added to the Windows Registry before you can use it. I'm not sure I'm brave enough to start messing around. I guess I'm off to the land of application re-design ... again ... thanks MoneySoft ... :(

    http://www.fontstuff.com/mailbag/qvba01.htm

    Sunday, March 25, 2012 3:16 PM
  • The Calendar Control has always been problematic because it's not a native Access control. Using it made the database dependent on other files that might not be in the expected location on another PC.

    For that reason, Microsoft decided to do away with this external control, and to replace it with a native date picker that will always be available in any Access 2010 installation and that does not require any programming.


    Regards, Hans Vogelaar

    Sunday, March 25, 2012 3:34 PM
  • Hello Sally.

    A much simpler method of installing a calendar. It appears to the user to function similarly to mscal.ocx but unfortunately the calendar only appears when the date control box is selected. Nonetheless a workable solution.

    Thank you

    Tuesday, March 27, 2012 2:10 PM
  • It looks like this thread may have died on the vine ... but what the heck ... I'll ask anyway.

    Is there a reason why you can't simply install the MSCAL.OCX and include it in your references?

    (C:\Program Files (x86)\Microsoft Office\Office 12\MSCAL.OCX)

    I have done this on my PC, and it seems to work.

    Yes, it's a PITA to have to install it on any/all PC's that you have your program on ... but that is just what we seemingly have to endure with Access versioning.

    PS. Looking in the above directory, it appears that the MSCAL also requires a few related files:

    MSCAL.CNT, MSCAL.DEP, MSCAL.HLP

    Perhaps there is an install program that does the whole thing? I am off to research that now.

    Apparently Microsoft used to have this available in the download center, but has since removed it. :(

    It also appears that even if you have the OCX, it has to be added to the Windows Registry before you can use it. I'm not sure I'm brave enough to start messing around. I guess I'm off to the land of application re-design ... again ... thanks MoneySoft ... :(

    http://www.fontstuff.com/mailbag/qvba01.htm

    Update:

    Running Windows 7 (64-bit)

    I have succesfuly downloaded, installed, and registered the OCX file ... and my app is working.

    Registering it required running an "Elevated Command Prompt" to use RegSvr32 with Admin privileges.

    My next experiment will be to create a run-time version of an app that includes this control, and see if Access Developer Extensions' deployment wizard will pick up on the fact that this OCX file is needed, and will include it in the MSI?

    Wish me luck.

    Sunday, April 01, 2012 4:08 PM
  • Hello Sally.

    A much simpler method of installing a calendar. It appears to the user to function similarly to mscal.ocx but unfortunately the calendar only appears when the date control box is selected. Nonetheless a workable solution.

    Thank you

    I might be wrong ... but the "date picker" only appears to work with a bound (date-format) control? Therefore not a "workable solution" for me.

    My app uses a pair of unbound text-box controls to specify StartDate and EndDate, then creates a staffing schedule report.

    Sunday, April 01, 2012 4:14 PM
  • The date picker works with unbound text boxes too, as long as the Format property has been set to a date format.

    Regards, Hans Vogelaar

    Sunday, April 01, 2012 6:29 PM
  • Thanks Hans,

    I just might give that a try again.

    Sunday, April 01, 2012 11:33 PM
  • In order to resolve this issue, just copy the file 'mscal.ocx' into the directory Access has been installed in.

    Examples:

    C:\Program Files\Microsoft Office\Office12\mscal.ocx

    C:\Program Files\Microsoft Office\Office14\mscal.ocx

    I'm unsure if the file is referenced via a relative path or if it uses the install path, but just inserting the file into the folder containing 'MSACCESS.EXE' seemed to fix the error for me.

    Since the error occurred with the first user to upgrade to 2010 in a corporate environment, (earlier than the rest of the users), other machines still had the file available.  I'm not sure whether or not an upgrade to Access 2010 will delete the file, so you may have to search for it in order to get a copy.


    • Proposed as answer by G3n1us Friday, April 06, 2012 4:34 PM
    • Edited by G3n1us Friday, April 06, 2012 4:35 PM
    Friday, April 06, 2012 4:34 PM
  • Don,

    Could you be a bit more specific about installing the ocx file?  I have the file but have not successfully registered it.. Thanks

    Tuesday, May 22, 2012 5:53 PM
  • My Access 2003 database didn't even utilize the datepicker but I figured a simple file copy was worth a try, just to be sure I copied all four mscal.xxx files from the old Office 2033 folder to the folder C:\Program Files\Microsoft Office\Office14 (the default install folder for Office 2010).  The fix worked for me too and now the database is functioning and even threw in a working datepicker!
    Wednesday, July 11, 2012 3:32 PM
  • fixed the error by coping the mscal files from my office 2003 install mscal.cnt,mscal.dep,mscal.hlp,mscal.ocx" error should go away after the copy is done.
    • Proposed as answer by micber Tuesday, May 14, 2013 12:07 PM
    Friday, July 13, 2012 2:37 PM
  • i applied that solution and it worked for my DB

    all you need is to copy and paste the 3 mentioned files in in the system32 folder

    http://www.fontstuff.com/mailbag/qvba01.htm

     and then Click Start then Run and type: regsvr32 mscal.ocx and click
    OK (if you are running windows 7 can sure that you are an administrator ) before running the command

    Thursday, July 19, 2012 8:58 AM
  • open the VB editor (Alt F11)

    Choose Tools > References

    uncheck Missing:Microsoft Calendar Control.....

    Wednesday, August 01, 2012 4:06 PM
  • Amazing. We kept getting the error - this solved my problem without creating issues in functionality.
    Can't upvote you AJPrince - Unexpected error.
    Tuesday, September 04, 2012 3:39 PM
  • great, simply solution...works fine....
    Monday, November 05, 2012 12:49 PM