Am Thu, 23 Mar 2006 10:15:35 -0800 schrieb emanson:
So far that all seems to be ok. Just for being sure here is a function that
works:
Public Function RestrictDateSpan(colItems As Outlook.Items, _
dtFrom As Date, _
dtTo As Date _
) As Outlook.Items
On Error Resume Next
Dim colResult As Outlook.Items
Dim sFilter As String
Dim sFrom As String
Dim sTo As String
colItems.Sort "[ReceivedTime]"
colItems.IncludeRecurrences = True
sFrom = Quote(Format(dtTo, "ddddd") & " 11:59 PM")
sTo = Quote(Format(dtFrom, "ddddd") & " 12:00 AM")
sFilter = "[ReceivedTime] <= " & sFrom & " AND [ReceivedTime] > " & sTo
Set colResult = colItems.Restrict(sFilter)
Set RestrictDateSpan = colResult
End Function
Private Function Quote(sText As String) As String
Quote = Chr(34) & sText & Chr(34)
End Function
--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
--
www.vbOffice.net --
DateFrom >= "2/1/2006 12:00 AM"
DateTo < "2/3/2006 12:00 AM"
I know it is pulling in all records because I have to use a supplementary
conditonal within the For Each loop to filter out emails that are
erroneously
included:
If CDate(itm.FlagRequest) >= CDate(DateFrom) And CDate(itm.FlagRequest) <
CDate(DateAdd("d", 1, DateTo)) Then
Thanks!
Ed
:
Am Thu, 23 Mar 2006 06:18:30 -0800 schrieb emanson:
What values do DateTo and DateFrom contain? Did you try to count the
result
as suggested instead of reading the Count property?
--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
--
www.vbOffice.net --
I do not receive an error message. The following is the format I use
for
date:
strFind = "[FlagRequest] < " & Chr(34) & Format(DateTo, "ddddd h:nn
AMPM") & Chr(34) & " AND [FlagRequest] >= " & Chr(34) & Format(DateFrom,
"ddddd h:nn AMPM") & Chr(34)
I have tried many other conditions to see if I can get the Restrict
method
to work at all but with no luck. It thinks for a second and then
returns
all
items in the collection no matter what condition I set.
Thanks!
Ed
:
Am Wed, 22 Mar 2006 10:01:28 -0800 schrieb emanson:
Do you get an error message? What format has the field?
--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
--
www.vbOffice.net --
Adding myItms.IncludeRecurrences = False had no effect. I am unable
to
get
the restrict method to work with any field/condition is it possible
that
this
may be an issue with the version/environment?
Thanks Michael for you help,
Ed
:
Am Wed, 22 Mar 2006 07:36:30 -0800 schrieb emanson:
Sorry, my fault. I didn´t read your first post carefully. The filter
should
be ok.
That all items are returned, i.e. Count = 2147483647, happens if you
set
IncludeRecurrences=True.
In that case if you need to know the number of items then you need to
loop
through the result and count them:
Dim obj as Object
Dim i as Long
For Each obj in myItems
i=i+1
Next
--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
--
www.vbOffice.net --
Michael -
I changed strFind to the following:
strFind = "[FlagRequest] < " & Chr(34) & Format(DateAdd("d", 1,
DateTo),
"yyyy.mm.dd hh:nn") & Chr(34) & " AND [FlagRequest] >= " & Chr(34) &
Format(DateFrom, "yyyy.mm.dd hh:nn") & Chr(34)
still no luck. When I tried using [ReceivedTime] instead of
[FlagRequest]
I
trapped the following formatting error: type mismatch or the
"2006.02.03 00:00" is not valid. Any ideas?
Thanks!
Ed
:
Am Tue, 21 Mar 2006 10:56:32 -0800 schrieb emanson:
If FlagRequest is a DateTime field then the values are stored in
this
format: yyyy.mm.dd hh:nn
--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
--
www.vbOffice.net --
Any idea why the following does not work (Returns all items in
collection):
strFind = "[FlagRequest] < " & Chr(34) & Format(DateTo, "ddddd
h:nn
AMPM")
&
Chr(34) & " AND [FlagRequest] >= " & Chr(34) & Format(DateFrom,
"ddddd
h:nn
AMPM") & Chr(34)
Set myItms = objFolder.Items
Set myItms = myItms.Restrict(strFind)
Please let me know if you need more information. I have also
tried
the
above using [ReceivedTime] rather than my user defined
[FlagRequest]
to
no
avail. Any help would be greatly appreciated.
Thanks!
Ed