msaccess 2010 with msaccess runtime 2k7

Posted on 2010-11-28
Last Modified: 2012-05-10
I have a new system that has office 2010 installed. I have an access app that is installed as a runtime app that was created in access 2007. when I run the app I get the error  "..missing or broken reference to the file 'MSCAL.OCX' version 7.0".
I know that this .OCX file does not ship with office 2010 but I thought that the runtime library included everything needed to run the app and would ignore any other access installation.
Question by:jsgould
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 2
  • +1
LVL 65

Assisted Solution

rockiroads earned 100 total points
ID: 34226508
Sounds like it does not. I would of thought you might of had an installer for your access app that copies your libs and registers them

Have you tried to copy MSCAL.OCX from an existing working pc (would most likely be under windows\system32), copy it onto the new pc

you might need to register it, if so run this command in dos

regsvr32 \windows\system32\mscal.ocx

Author Comment

ID: 34226579
I use the access 2007 Packager to create a windows installer package, which creates the runtime library and installation package. then install on the office 2010 system
LVL 58
ID: 34226692
<<I know that this .OCX file does not ship with office 2010 but I thought that the runtime library included everything needed to run the app and would ignore any other access installation.>>

  It does not.  It only includes the base items needed to run Access.  The 'runtime' version is nothing more then the full version with design functions disabled.

  So anything you add to a default Access intall (like 3rd party controls), you need to include in your setup in some way.

  Beyond that, not everything that can be used with Access may be distributable legally with the runtime.  For example, if you use calls to some of the Access Wizard code, your not allowed to distribute those the runtime.

  According to the EULA, they are only usable if you have a full retail copy.

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

LVL 58

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 100 total points
ID: 34226701
BTW, in the past, MSCAL.OCX was not distributable unless you had purchased a license:

OFFXPDEV: Cannot Redistribute Calendar Control Unless You Have a Microsoft Office Developer License

  That's probably changed at this point though as starting with A2007, they started giving the runtime away for free.

LVL 85
ID: 34226882
I have not been able to find anything that says you can distribute the Calendar control if you ONLY have Access 2007. However, if you own earlier versions of the Developer Edition you will have distribution rights. Depending on exactly which of these your are using, you may alos have distribution rights if you own a copy of VB 5/6, or perhaps even one of the early versions of one of the .NET languages.

Note also that these controls will not work reliably on the 64-bit platforms.

Author Comment

ID: 34269819
This question is NOT abandoned or inactive. I have not been able to try any of the recommendations yet.

Author Comment

ID: 34438996

tried the copy and register as u suggested, but same error. any other thoughts?
LVL 85
ID: 34439037
<tried the copy and register as u suggested, but same error. any other thoughts? >

Again: Unless you have the rights to distribute this control - and there's been no indication from you that you have this right - the we cannot assist you with deploying that control. The mscal.ocx file is a copyrighted Microsoft control.

2007 and 2010 have a builtin date picker. Could you not use this instead of the calendar control?

In fact, are you certain that you need the mscal.ocx control, since your app was originally written in 2007? You can try removing the reference and compiling the project (i.e. from the VB Editor, click Debug - Compile AFTER removing that reference). Make a backup of your app before doing this, of course.


Author Comment

ID: 34439269

I'm not familiar with the "date picker". I see a calendar control 12.0 in the activex list of controls in a2007. Is this the "date Picker"?  Is it essentially the same thing and if I change to it, is it backward compatible to a2003?
LVL 85
ID: 34439451
It's not an ActiveX control. In 2007/2010, if you add a field that is bound to a Date field to a form, you can set that form control to automatically show the Date picker whenever the user enters the control:

Author Comment

ID: 34439537

Thank you!
do u have any recommendations/suggestions for 3rd party controls that are similar to mscal.ocx?
LVL 85

Accepted Solution

Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 300 total points
ID: 34439895
The only ones that might work would be the ones from FMS (Total Access Controls). I'm not sure they work in the 2010 environment, however, and as we move into the 64-bit world you'll find that most Ax controls (which are 32-bit) won't work in that environment. Better to avoid the use of those in Access, if you're going to be working with 2010.

You can use API calls to build these, or just use an Access form that looks like a calendar:

Author Closing Comment

ID: 34458450
Thanks for all ur help!

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

687 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question