Solved

Access 2010 Runtime, AutoExec Macro/Function call problem

Posted on 2013-12-30
8
2,414 Views
Last Modified: 2014-01-03
I just developed an app in Access 2010, first time in 2010 but I've used prior versions of Access and prior versions of Sagekey for many, many years.

I tested everything on the app and created an installer using Sagekey 2010.  I then used the created installer to install the app on my local machines.  No issues whatsoever.  As designed the app install Access runtime 2010 as part of the install.

Possibly worth noting that even though the runtime 2010 was installed, all of the machines in the office have full versions of Access 2010 on them also.

Moved the app to my client site.  The only version of Access on those machines is Access 2003.

The application installed just as expected but cancelled in the Autoexec macro with 'function name cannot be found'.  The very first command in the Autoexec runs a function 'fRefreshlinks' to refresh the linked tables in the application.  If the tables aren't where the current links are pointing to, it  reads the information on an .ini file that tells where the data files are on this installation.

Never even executes 'fRefreshlinks', it cancel on the call to the function.

Does the runtime version of Access 2010 have limitations related to an Autoexec or maybe running functions?

I have used this exact same startup method for many years in Access 2003 without issue.

Any ideas what the issue is?
0
Comment
Question by:mlcktmguy
[X]
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
8 Comments
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 39747628
<The only version of Access on those machines is Access 2003.>

access db created in higher version does not run smoothly or does not run at all in lower versions. There is no backward compatibility.

you may need to uninstall the clients Access 2003 and install access 2010 or use the 2010 runtime version.
0
 
LVL 37

Assisted Solution

by:PatHartman
PatHartman earned 167 total points
ID: 39747632
The usual problem when an app runs on one PC but not on another is a reference issue.  Since you have only A2003 as a full install, there is no easy way to identify the specific reference that is missing.

Open the app on your PC and look at the referenced libraries.  If any are not installed on the target machine, or if the versions are lower, you will either need to upgrade the client PC or modify your code.  In some cases you can convert from early binding to late binding.
0
 
LVL 120

Assisted Solution

by:Rey Obrero (Capricorn1)
Rey Obrero (Capricorn1) earned 83 total points
ID: 39747638
@mlcktmguy,

if it is not possible to upgrade your client access version, you have to develop/create the application using Access 2003.
0
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 37

Assisted Solution

by:PatHartman
PatHartman earned 167 total points
ID: 39747664
I have been developing in A2010 for three years and I still have clients that have mixed environments.  As long as I don't actually use any A2010 features, late binding solves the reference issue.
0
 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 83 total points
ID: 39747906
Did you setup a Trusted Location with Sagekey? If not you need to do this. Generally you only need to do this for the FE location.

Also be careful of where the package is installed, if your client is using full blown Windows UAC. You'll have to install to ProgramData, or a folder immediately off the root drive, instead of Program Files in that instance.
0
 
LVL 57

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 83 total points
ID: 39747995
I think Scott has probably hit it, but the other thing worth mentioning is that A2010 is far picker about references to things within an app.

Make sure your syntax is spot on.

Jim.
0
 
LVL 21

Accepted Solution

by:
Boyd (HiTechCoach) Trimmell, Microsoft Access MVP earned 84 total points
ID: 39748533
Before any VBA code can be executed, the database must be trusted.

I agree with  Scott McDaniel that this is probably a trust issue not getting set by your setup/installer routines.

Windows 7 and Later and Access 2007 and later make deployment of application more difficult. This is for security reason to prevent malicious code from running. That does mean it will require more testing of your deployment packages.

I tested everything on the app and created an installer using Sagekey 2010.  I then used the created installer to install the app on my local machines.  

mlcktmguy, when you installed it on your local machine did you install it into a Virtual Machine (VM) that did not have any version of Access/Office previously  installed?

I find it best when testing installer packages to install it on a "Clean"/"fresh" version of Windows. This allows you to properly test all the settings your installer needs to handle.   Most VM have a fesature that allows you to create a snapshot and then roll back. This is great for repeated tests. Between test runs  you can roll back the Windows instance to the state before you ever tried ti install anything.  This gives you a "Clean" version of Windows each time.

I have VMs for multiple versions of Windows just for testing.
0
 
LVL 1

Author Closing Comment

by:mlcktmguy
ID: 39754771
Thank you all great and valuable suggestions and comments.  Since the live date of the project was approaching, there simply wasn't time to resolve this issue.  My bad for waiting so long in the project cycle to test the install.

The issue has not yet been resolve but I will refer back to this thread when I have time to do so.  I'm sure the answer lies in one or many of these responses.

I did end up saving the app as an Access 2003 app and installing that way.  That brought it's own set up problems and additional tasks sine the complete menu system set up for 2010 had to be redone as well as several other items that did not have support in 2003.

Severe time crunch forced that decision

Props to all EE responders for providing such valuable and timely response in a very crucial situation.  I wish I could award more points to you all but 500 is the max.
0

Featured Post

Independent Software Vendors: 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

It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
This article describes two methods for creating a combo box that can be used to add new items to the row source -- one for simple lookup tables, and one for a more complex row source where the new item needs data for several fields.
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 how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

739 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