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 57
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.

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!

LVL 57

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 84
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 84
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 84
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 84

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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
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.

730 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