[AccessD] Deleting Outlook Contacts

Stuart McLachlan stuart at lexacorp.com.pg
Thu Sep 9 16:39:08 CDT 2010


Does something like this work?
(assuming you have set olFolder to the contacts folder)

While olContacts.Count > 0
    olContacts.Item(0).delete
Wend


-- 
Stuart

On 9 Sep 2010 at 9:20, Rocky Smolin wrote:

> OK, here's what's working:
> 
>     ' delete all the current contacts
> DeleteAgain:
>     Set olContacts = olFolder.Items
>     If olContacts.Count = 0 Then GoTo DeleteDone:
>     Me.txtProcessing = "Deleting Contacts..." & olContacts.Count
>     Me.Repaint
>     Set olContactItem = olContacts.GetFirst
>     olContactItem.Delete
>     GoTo DeleteAgain:
> 
> DeleteDone:
> 
> It may not be optimized or the most elegant, but it works.  
> 
> Rocky
> 
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky
> Smolin Sent: Thursday, September 09, 2010 9:03 AM To: 'Access
> Developers discussion and problem solving' Subject: Re: [AccessD]
> Deleting Outlook Contacts
> 
> Steve:
> 
> " index the contact to be deleted "  not sure what you mean.  I'm a
> real amateur at the Outlook object model.
> 
> Rocky
> 
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Steve
> Goodhall Sent: Thursday, September 09, 2010 8:55 AM To: Access
> Developers discussion and problem solving Subject: Re: [AccessD]
> Deleting Outlook Contacts
> 
>   BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }I
>   think
> your problem is with the way For Each iterates in olContacts.  I am
> out on a customer site and don't have access to all my test beds, but
> I would suggest that you index the contact to be deleted and count
> down from the number of items in the olContacts collection.  I don't
> remember whether that index is zero based or one based.
>  I also suggest that you lose the "GoTo" but that's just style.
>  Regards,
>  Steve Goodhall, MSCS, PMP
>  248-505-5204
>  On Thu 09/09/10 11:25 AM , "Rocky Smolin" rockysmolin at bchacc.com
> sent:
>  Dear List:
>  Still struggling with deleting the Outlook contacts.  I found that
>  looping
> through the items and deleting them deleted half so if I started with
> 1000 contacts at the end of the loop I had 500 left.  If I sent the
> program back through the loop I ended up with 250.  etc.
>  So iterating that loop until the Count = 0 works but it's kludgey.
> Why does
>  it leave half of the contacts behind each time?
>  Here's the code:
>      ' delete all the current contacts
>      Set olContacts = olFolder.Items
>  DeleteAgain:
>      Me.txtProcessing = "Deleting..." & olContacts.Count
>      Me.Repaint
>      For Each olContactItem In olContacts
>          'MsgBox olContactItem.LastName & ", " &
>          olContactItem.FirstName & "
>  - " & olContacts.Count
>          olContactItem.Delete
>          DoEvents
>      Next
>      Set olContacts = olFolder.Items
>      If olContacts.Count  0 Then GoTo DeleteAgain:
>  Me.txtProcessing displays the number of contacts each time through
>  the big
> loop.  So that's how I know it's only deleting 1/2 each time. When I
> uncomment the MsgBox line inside the loop, it shows the count going to
> zero each time the loop executes.  But after the loop finishes,
> there's still 1/2 the contacts left.  refreshing the count by Set
> olContacts = olFolder.Items gives the right count again.
>  Any idea what the heck is going on here?
>  MTIA
>  Rocky
>  --
>  AccessD mailing list
>  AccessD at databaseadvisors.com [1]
>  http://databaseadvisors.com/mailman/listinfo/accessd
>  Website: http://www.databaseadvisors.com
> 
> 
> Links:
> ------
> [1] mailto:AccessD at databaseadvisors.com
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 





More information about the AccessD mailing list