ID: Q178554
The information in this article applies to:
The DateValue function does not appear to use time as part of its filter criteria when filtering appointments.
If the date argument includes time information, DateValue does not return the time. However, if the date includes invalid time information (such as "89:98"), an error occurs.
If you want to apply a filter to your AppointmentItems collection that includes time as part of either the StartTime or EndTime, do not use the DateValue function.
This behavior is by design.
When filtering an AppointmentItem collection you need to use code similar to the following:
Set objAppointmentFilterField1 = _
objAppointmentFilter.Fields.Add(ActMsgPR_START_DATE, EndTime)
Set objAppointmentFilterField2 = _
objAppointmentFilter.Fields.Add(ActMsgPR_END_DATE, StartTime)
NOTE: EndTime and StartTime are in vbDate format.
If you want to filter for all appointments that start after 10:00 AM on January 1, 1998, the following line will not work because DateValue does not return the time value:
Set objAppointmentFilterField1 = _
objAppointmentFilter.Fields.Add(ActMsgPR_START_DATE, _
DateValue("1/2/97"))
Set objAppointmentFilterField1 = _
objAppointmentFilter.Fields.Add(ActMsgPR_END_DATE, _
DateValue("1/1/98 10:00 AM"))
The code above returns all the appointments on January 1, 1998, instead of
the appointments for 10:00 AM.
The proper way to use a time filter is to employ one of the following two examples:
StartTime = #1/1/98 10:00 AM#
EndTime = #1/2/98#
Set objAppointmentFilterField1 = _
objAppointmentFilter.Fields.Add(ActMsgPR_START_DATE, EndTime)
Set objAppointmentFilterField2 = _
objAppointmentFilter.Fields.Add(ActMsgPR_END_DATE, StartTime)
-or-
StartTime = "1/1/98 10:00 AM"
EndTime = "1/2/98"
Set objAppointmentFilterField1 = _
objAppointmentFilter.Fields.Add(ActMsgPR_START_DATE, EndTime)
Set objAppointmentFilterField2 = _
objAppointmentFilter.Fields.Add(ActMsgPR_END_DATE, StartTime)
For more information, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q178508
TITLE : HOWTO: Write a VB MessageFilter for Your Appointment
Collection
Microsoft Visual Basic Online: DateValue
Keywords : kbASP100 kbCDO120 kbMsg kbVBp500 kbGrpMsg
Version : WINDOWS:1.2,5.0; WINNT:1.0,1.0b
Platform : WINDOWS winnt
Issue type : kbprb
Last Reviewed: April 8, 1999