Newsgroup: it.comp.appl.access
Titolo: MAPI_E_EXTENDED_ERROR

Buongiorno.
Con un'applicazione Access97 accodo gli indirizzi e-mail dei clienti
contenuti in tabella anagrafica clienti. L'applicazione, prima di accodare i
nuovi indirizzi, provvede ad eliminare quelli preesistenti accodati con una
precedente elaborazione. Tali indirizzi sono contraddistinti con i caratteri
(db). Contemporaneamente all'accodamento degli indirizzi vengono create una
serie di liste di distribuzione che riuniscono logicamente i clienti.
Nella stessa rubrica ci potrebbero essere altri indirizzi che sono stati
immessi manualmente dall'utente e quindi si rende necessaria
l'eliminazione mediante un filtro.
Mi avvalgodella dll CDO per svolgere i compiti precedentemente esposti.
Purtroppo avviene che dopo l'eliminazione degli indirizzi e delle liste di
distribuzione (fase che termina correttamente e di cui riporto il codice di
seguito)
    Set objAddressEntries = objAddressList.AddressEntries
    Set objAddressEntryFilter = objAddressEntries.Filter
    objAddressEntryFilter.Name = "(db)"
    For Each objAddressEntry In objAddressEntries
        objAddressEntry.Delete
    Next objAddressEntry
    Set objAddressEntry = Nothing
    Set objAddressEntryFilter = Nothing
e il successivo accodamento degli indirizzi dalla tabella anagrafica (fase
che termina correttamente), l'applicazione termina in errore emettendo il
messaggio in oggetto, quando deve creare una nuova lista di distribuzione.
    Set objAddressEntry = objAddressEntries.Add(Name:="@ Clienti Italia " &
Rs!Descrizione & " (db)", emailtype:="MAPIPDL")
    objAddressEntry.Update
    Set objDLAddressEntriesMembers = objAddressEntry.Members
L'errore si verifica, quando deve eseguire l'istruzione Set.
Il problema non si verifica, però, se la cancellazione viene eseguita con
    Set objAddressEntries = objAddressList.AddressEntries
    objAddressEntries.Delete
invece che con il filtro.
Purtroppo per le motivazioni che ho descritto in precedenza, devo usare per
forza il filtro.
Ho cercato nel sito di Microsoft il significato dell'errore, ma purtroppo
non ho trovato nulla.
Qualcuno mi può dare suggerimenti?
Grazie 1000000
Ciao
Eugenio

 Eugenio
Dai uno sguardo :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/_mapi1book_using_extended_errors.asp
Pablitom
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Grazie, ma questo l'avevo già letto nei giorni scorsi. Però purtroppo non è
servito a nulla.
Una domanda: ti risulta che si possa creare una lista di distribuzione dei
contatti di outlook, senza che questa sia registrata nella rubrica
personale?
Grazie
Ciao
Eugenio

 Eugenio
Non dovrebbero esserci problemi a riguardo... ma perchè non usi MAPI o
WinSock con l'utilizzo diretto di indirizzi e SMTP scavalcando
completamente Outlook?



Sicuramente non mi sono spiegato. Non devo fare un altro programma per
inviare posta. Qualcosa di simile l'ho fatto tempo fa per altre esigenze, ma
ovviamente non può avere le stesse funzionalità di Outlook. La mia necessità
è creare una rubrica personale sempre aggiornata con l'anagrafica aziendale
su ogni pc della rete e che deve essere utilizzata da Outlook.
Ci sarebbe la possibiltà di utilizzare una rubrica centralizzata in Exchange
server, ma a causa di problemi ci accesso (da client non si può) e
autorizzazioni (ho provato a loggarmi da client come amministratore, ma non
è possibile modificare comunque la rubrica). E anche causa della mia
ignoranza.
L'unica possibilità è creare un file (txt,xls, csv, ecc.) e poi importarselo
manualmente con i tools previsti da Exchange Server.
Ma quello che voglio fare è una procedura automatica.
Comunque, tornando al problema in origine, la causa non è il filtro, ma il
fatto che la rubrica non viene svuotata completamente e restano gli
indirizzi personali inseriti manualmente. Suppongo che ci siano problemi di
assegnazione di indirizzi. Suppongo!
Grazie
Ciao
Eugenio