I have the following lines of code that I am trying to use to remove specific calendar events prior to adding the updated events back using an sql server recordset. When I run the code, it will delete some of the events, but I have to run it several times to delete all of the events. How can I change this code to delete ALL events in one code run that meet the subject criteria?
Dim myStart, myEnd As Date
Dim oCalendar As Outlook.Folder
Dim oItems As Outlook.Items
Dim oResItems As Outlook.Items
Dim oAppt As Outlook.AppointmentItem
Dim strRestriction As String
myStart = Date - 1
myEnd = Date + 10
Set oCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
Set oItems = oCalendar.Items
strRestriction = "[Start] <= '" & myEnd & "' AND [End] >= '" & myStart & "'"
Set oResItems = oItems.Restrict(strRestriction)
For Each oAppt In oResItems
' delete PTO entries
If InStr(1, oAppt.Subject, "PTO:", vbTextCompare) > 0 Then