Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

MS Exchange 2013 - VBA code to relink tables for company Contacts

Status
Not open for further replies.

scriverb

Programmer
May 17, 2002
4,485
US
I have a MS ACCESS 2010 FE and BE loaded to a pair of Citrix servers. The FE is loaded to a folder on the C drive of the server and the BE is stored on the server in a folder along with the WorkGroup. I have a linked table to the Outlook All Public folders area in a folder for the company Contacts. When logged in as any user I can reconnect this Contacts folder to their P drive let's say for this discussion and path down into the public folders to the Contacts folder. The Link is made and all is well. . . Not so. The path to this folder is not been changed a path to the User profile of the user I am currently logged in as. . . Admin for example. I need multiple users to be able to use this FE but they cannot as this link is and they do not have permissions to the link that has been relinked to ONLY one users profile.

I believe this is happening because of the characteristics of MS Exchange 2013(i.e.: ) The issue I am having I know how to reconnect most database types using the correct connect string and either creating a new connection or refreshing the link to the contacts folder. But, with Exchange 2013 I just can't come up with the identification that will work. I want to reconnect each and every time a user logs into the FE. Reconnect and let Exchange 2013 relink to the user's profile.

Example:
For Each tdf In MyDB.TableDefs
If Len(tdf.Connect) > 0 Then
If tdf.Name = "Contacts" Then
MyDBName = "Exchange 2013;MAPILEVEL=Public Folders\All Public Folders\All Public Folders\Contacts\Company Contacts|;PROFILE=CompanyName;TABLETYPE=0;DATABASE=F:\CompanyName\MDBS\DBName.mdb;TABLE=Contacts"
tdf.Connect = MyDBName
tdf.RefreshLink ' Relink the table.
Err = 0
On Error Resume Next
If Err <> 0 Then
RefreshLinks = False
Exit Sub
End If
End If
End If
Next tdf

When I execute this code I get "Err 3170 Cannot find Installable ISAM" on the tdf.RefreshLink. So, the Connect string is incorrect but can't seem to come up with the correct connect string.

Here's the ACCESS Help screen info: Exchange 4.0; MAPILEVEL=folderpath; [TABLETYPE={ 0 | 1 }];[PROFILE=profile;] [PWD=password;] [DATABASE=database;]

I haven't been out here on TT's for a long time but thought you guys could help me on this one. Retired for 10 years and now back at it with a great new company for the past 18 months. So, be kind to a "old" TT programmer . . . LOL

Bob

[COLOR=006633]Bob Scriver[/color]
MIState1.gif
[COLOR=white 006633]MSU Spartan[/color]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top