Stuart McLachlan
stuart at lexacorp.com.pg
Thu Sep 9 16:56:24 CDT 2010
I do wish that MS could make up their minds whether arrays should be zero or one based :-( -- Stuart On 9 Sep 2010 at 14:51, Rocky Smolin wrote: > No - I get an array index out of bounds error message > > However this works: > > While olContacts.Count > 0 > olContacts.Item(1).Delete > Set olContacts = olFolder.Items > Me.txtProcessing = "Deleting Contacts..." & olContacts.Count > Wend > > > Rocky > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart > McLachlan Sent: Thursday, September 09, 2010 2:39 PM To: Access > Developers discussion and problem solving Subject: Re: [AccessD] > Deleting Outlook Contacts > > 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 > > > > > -- > 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 >