![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
Hello all,
I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
#2
|
|||
|
|||
![]()
You should always test whether you have a valid object before you execute any methods on it. Also, the code you cited is Outlook object model code, not CDO. Is Outlook running when you run this code? If not, you'll need to get the Namespace object and use the Logon method.
FYI, there is a newsgroup specifically for general Outlook programming issues "down the hall" at microsoft.public.outlook.program_vba or, via web interface, at http://www.microsoft.com/office/comm....program_v ba -- Sue Mosher, Outlook MVP Author of Configuring Microsoft Outlook 2003 http://www.turtleflock.com/olconfig/index.htm and Microsoft Outlook Programming - Jumpstart for Administrators, Power Users, and Developers http://www.outlookcode.com/jumpstart.aspx "Johannes Franke" wrote in message ... Hello all, I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
#3
|
|||
|
|||
![]()
Dear Sue,
thanks for your reply. Well, actually my problem is to get the object which I'd like to display. The object I use to do that is the MAPI NameSpace object from Outlook in the first attempt, and the CDO MAPI.Session object in the second. My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Unfortunately, even if this worked perfectly, I had the problem of displaying the contact as CDO returns a MAPI.Message object to me which does not support displaying. Another possibility is that the customer's system is corrupted in some way, causing Outlook to fail accessing objects inside the user's favourite contacts folder. I am sure that this is an Outlook Client related issue because Exchange Cache Mode is used, and favourite folders are used to make sure that no additional network traffic is generated when trying to access one of the contacts in the favourites. One idea I read about was timeout errors on accessing the Exchange system because it is fragmented. This definitely does not apply for my customer. Opening contacts in the Outlook front-end by double clicking is a matter of milliseconds, and the cache mode should prevent unneeded Exchange access, too. Unfortunately, the error "the client operation has failed" is thrown in multiple situations, and I cannot find information on the error codes that were returned by Outlook. Knowing more about them might help me find out what I need to change, or what the customer has done wrong. Regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... You should always test whether you have a valid object before you execute any methods on it. Also, the code you cited is Outlook object model code, not CDO. Is Outlook running when you run this code? If not, you'll need to get the Namespace object and use the Logon method. FYI, there is a newsgroup specifically for general Outlook programming issues "down the hall" at microsoft.public.outlook.program_vba or, via web interface, at http://www.microsoft.com/office/comm....program_v ba -- Sue Mosher, Outlook MVP Author of Configuring Microsoft Outlook 2003 http://www.turtleflock.com/olconfig/index.htm and Microsoft Outlook Programming - Jumpstart for Administrators, Power Users, and Developers http://www.outlookcode.com/jumpstart.aspx "Johannes Franke" wrote in message ... Hello all, I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
#4
|
|||
|
|||
![]()
Well, actually my problem is to get the object which
I'd like to display. So, what are the details? Where do the EntryID and StoreID come from? Have you checked their values? My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Why? If Outlook can't get it, CDO isn't going to have much luck either. -- Sue Mosher, Outlook MVP Author of Configuring Microsoft Outlook 2003 http://www.turtleflock.com/olconfig/index.htm and Microsoft Outlook Programming - Jumpstart for Administrators, Power Users, and Developers http://www.outlookcode.com/jumpstart.aspx "Johannes Franke" wrote in message ... Dear Sue, thanks for your reply. Well, actually my problem is to get the object which I'd like to display. The object I use to do that is the MAPI NameSpace object from Outlook in the first attempt, and the CDO MAPI.Session object in the second. My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Unfortunately, even if this worked perfectly, I had the problem of displaying the contact as CDO returns a MAPI.Message object to me which does not support displaying. Another possibility is that the customer's system is corrupted in some way, causing Outlook to fail accessing objects inside the user's favourite contacts folder. I am sure that this is an Outlook Client related issue because Exchange Cache Mode is used, and favourite folders are used to make sure that no additional network traffic is generated when trying to access one of the contacts in the favourites. One idea I read about was timeout errors on accessing the Exchange system because it is fragmented. This definitely does not apply for my customer. Opening contacts in the Outlook front-end by double clicking is a matter of milliseconds, and the cache mode should prevent unneeded Exchange access, too. Unfortunately, the error "the client operation has failed" is thrown in multiple situations, and I cannot find information on the error codes that were returned by Outlook. Knowing more about them might help me find out what I need to change, or what the customer has done wrong. Regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... You should always test whether you have a valid object before you execute any methods on it. Also, the code you cited is Outlook object model code, not CDO. Is Outlook running when you run this code? If not, you'll need to get the Namespace object and use the Logon method. "Johannes Franke" wrote in message ... Hello all, I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
#5
|
|||
|
|||
![]()
Sue,
the EntryID and StoreID are scanned in a synchronization routine from all items in all folders as configured by the user, and put into an Access database along with all telephone numbers stored in each contact. My add-in is a tool which displays the contact matching an incoming phone number (from TAPI). If a matching contact is found in the database, Outlook is used to display the contact item. This is faster because I can index the Access tables which hold the telephone numbers. Scanning all items directly in Outlook would take too long. It works pretty well when using the user's personal folders but fails frequently when working on Exchange or with favourite folders... we can read all items and put their IDs and information to the database, but later attempts to recall such an item by EntryID and StoreID fail with errors as shown below... Best regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... Well, actually my problem is to get the object which I'd like to display. So, what are the details? Where do the EntryID and StoreID come from? Have you checked their values? My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Why? If Outlook can't get it, CDO isn't going to have much luck either. -- Sue Mosher, Outlook MVP Author of Configuring Microsoft Outlook 2003 http://www.turtleflock.com/olconfig/index.htm and Microsoft Outlook Programming - Jumpstart for Administrators, Power Users, and Developers http://www.outlookcode.com/jumpstart.aspx "Johannes Franke" wrote in message ... Dear Sue, thanks for your reply. Well, actually my problem is to get the object which I'd like to display. The object I use to do that is the MAPI NameSpace object from Outlook in the first attempt, and the CDO MAPI.Session object in the second. My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Unfortunately, even if this worked perfectly, I had the problem of displaying the contact as CDO returns a MAPI.Message object to me which does not support displaying. Another possibility is that the customer's system is corrupted in some way, causing Outlook to fail accessing objects inside the user's favourite contacts folder. I am sure that this is an Outlook Client related issue because Exchange Cache Mode is used, and favourite folders are used to make sure that no additional network traffic is generated when trying to access one of the contacts in the favourites. One idea I read about was timeout errors on accessing the Exchange system because it is fragmented. This definitely does not apply for my customer. Opening contacts in the Outlook front-end by double clicking is a matter of milliseconds, and the cache mode should prevent unneeded Exchange access, too. Unfortunately, the error "the client operation has failed" is thrown in multiple situations, and I cannot find information on the error codes that were returned by Outlook. Knowing more about them might help me find out what I need to change, or what the customer has done wrong. Regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... You should always test whether you have a valid object before you execute any methods on it. Also, the code you cited is Outlook object model code, not CDO. Is Outlook running when you run this code? If not, you'll need to get the Namespace object and use the Logon method. "Johannes Franke" wrote in message ... Hello all, I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
#6
|
|||
|
|||
![]()
Have you actually checked the ID values for some of these items? Maybe you didn't make the fields long enough in Access?
-- Sue Mosher, Outlook MVP Author of Configuring Microsoft Outlook 2003 http://www.turtleflock.com/olconfig/index.htm and Microsoft Outlook Programming - Jumpstart for Administrators, Power Users, and Developers http://www.outlookcode.com/jumpstart.aspx "Johannes Franke" wrote in message ... Sue, the EntryID and StoreID are scanned in a synchronization routine from all items in all folders as configured by the user, and put into an Access database along with all telephone numbers stored in each contact. My add-in is a tool which displays the contact matching an incoming phone number (from TAPI). If a matching contact is found in the database, Outlook is used to display the contact item. This is faster because I can index the Access tables which hold the telephone numbers. Scanning all items directly in Outlook would take too long. It works pretty well when using the user's personal folders but fails frequently when working on Exchange or with favourite folders... we can read all items and put their IDs and information to the database, but later attempts to recall such an item by EntryID and StoreID fail with errors as shown below... Best regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... Well, actually my problem is to get the object which I'd like to display. So, what are the details? Where do the EntryID and StoreID come from? Have you checked their values? My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Why? If Outlook can't get it, CDO isn't going to have much luck either. "Johannes Franke" wrote in message ... Dear Sue, thanks for your reply. Well, actually my problem is to get the object which I'd like to display. The object I use to do that is the MAPI NameSpace object from Outlook in the first attempt, and the CDO MAPI.Session object in the second. My idea was to get hold of the object with CDO Session if I cannot get a reference to it by using the Outlook object model. Unfortunately, even if this worked perfectly, I had the problem of displaying the contact as CDO returns a MAPI.Message object to me which does not support displaying. Another possibility is that the customer's system is corrupted in some way, causing Outlook to fail accessing objects inside the user's favourite contacts folder. I am sure that this is an Outlook Client related issue because Exchange Cache Mode is used, and favourite folders are used to make sure that no additional network traffic is generated when trying to access one of the contacts in the favourites. One idea I read about was timeout errors on accessing the Exchange system because it is fragmented. This definitely does not apply for my customer. Opening contacts in the Outlook front-end by double clicking is a matter of milliseconds, and the cache mode should prevent unneeded Exchange access, too. Unfortunately, the error "the client operation has failed" is thrown in multiple situations, and I cannot find information on the error codes that were returned by Outlook. Knowing more about them might help me find out what I need to change, or what the customer has done wrong. Regards, Joe "Sue Mosher [MVP-Outlook]" schrieb im Newsbeitrag ... You should always test whether you have a valid object before you execute any methods on it. Also, the code you cited is Outlook object model code, not CDO. Is Outlook running when you run this code? If not, you'll need to get the Namespace object and use the Logon method. "Johannes Franke" wrote in message ... Hello all, I'm desperately looking for a solution on how to show contacts (not AddressEntries) via CDO session. I have the EntryID and StoreID of the contacts in a database. When trying to open the contacts with Application.GetNameSpace("MAPI").GetItemFromID(Ent ryID, StoreID).Display Outlook just returns that "the client operation has failed", giving me different error codes every time, such as DCD4010F, E514010F, ED54010F on trying to get items by StoreID + EntryID E0F4010F, E934010F, F174010F on trying to get items with EntryID only Getting the IDs from the contacts I can see in the folder is working though. Using these IDs later for displaying as descibed above fails. The alternative way I have implemented uses CDO and the MAPI.Session.GetMessage function. Unfortunately, this also fails. Error code 8004010F and Err.Description "MAPI - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using StoreID + EntryID The same error code but Err.Description "the client operation has failed. [Microsoft Exchange Server Information Store - [MAPI_E_NOT_FOUND(8004010F)]" is returned when using EntryID only Even if it didn't fail, I would still miss the function to display the message object (a Details function is only implemented for MAPI.AddressEntry as far as I know, but the contacts are just messages, right?) Maybe the approach is all wrong. If Outlook fails to display the contact item although it is in one of the user's Favourites folders, and Exchange Cache Mode is active, something else may be out of order. Thanks for any help! Best regards, Joe |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
blank contact lines,cannot delete,properties:invalid ENTRYID | Troy Coleman | Outlook - Using Contacts | 2 | June 28th 06 03:50 AM |
Some contact folders in Folders List not appearing in Contacts | ee | Outlook - Using Contacts | 3 | March 20th 06 08:58 PM |
Outlook 2003 Favourite Folders resetting | Abacus | Outlook - General Queries | 1 | March 3rd 06 02:49 PM |
Showing matches from ALL contact lists | Paul | Outlook - General Queries | 1 | February 1st 06 07:45 PM |
Scope of StoreID and EntryID | Scott | Outlook and VBA | 4 | January 20th 06 06:35 PM |