Solved

Referencing a program not installed

Posted on 2011-09-03
7
287 Views
Last Modified: 2012-05-12
I have created an Access app that gives the user the ability to create on a form a map using MapPoint or even export a map to MapPoint. If a user does not have MapPoint installed they get all kinds of nasty messages. Is there anyway to cause this not to happen. If so, I could then disable that user from opening the form used for creating the maps.
0
Comment
Question by:dlogan7
7 Comments
 
LVL 10

Expert Comment

by:plummet
ID: 36478352
Hi,

You could add a function into a module that checks to see if the reference is OK or broken - like this:

Function CheckReference(sRefName As String) As Boolean
  
  CheckReference = Not (Application.References(sRefName).IsBroken)

End Function

Open in new window


You could call this function using the registered short name of the reference - for example, the reference you see as "Visual Basic for Applications" in Tools/references has the short name "VBA", so you'd check this was OK like this:

if CheckReference("VBA") then debug.print "OK" else debug.print "Missing!"

Open in new window


If your shortname is "Mappoint", as it may well be, you'd substitute "Mappoint" for "VBA" in the example above. You can then use the check to send the user off elsewhere as you like.

I hope that helps, and makes sense.

0
 
LVL 33

Expert Comment

by:Norie
ID: 36478387
How are you using MapPoint on the form?
0
 

Author Comment

by:dlogan7
ID: 36478471
plummet, I will give that a try in a couple of hours and will let you know how it goes. Sounds promising.

imnorie, You can add a MapPoint ActiveX control to a form. In that control I give the user the ability to create territory maps, sales volume maps, they can plot customers by location, tons of stuff. They can even export a map to MapPoint. Here's a link to all of the coding options:

http://msdn.microsoft.com/en-us/library/aa562314.aspx
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 
LVL 33

Expert Comment

by:Norie
ID: 36478506
What I was going to suggest was using late-binding so you wouldn't need a reference.

I don't think that will work if you are adding the control to a form though.:)

0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 36480508
You won't be able to do this since you're using ActiveX controls. Your app will require that control to be present on the end user machine. You cannot distribute this control, either, so if you need this functionality that you will need to require your end users to have the full version of MapPoint on their system.

You could build two different applications - one with the MP reference, and one without, and then distribute the appropriate one to your end users. That's a pain to maintain, of course, since you must remember to make changes in both files.
0
 
LVL 33

Expert Comment

by:Norie
ID: 36480515
LSM

I thought that might be the case but wasn't sure.

I assume the problem is that a missing control leads to a missing reference which leads to all sort of problems elsewhere.
0
 
LVL 84
ID: 36483540
That would be my assumption as well.
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …

932 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now