AdvancedSearch filter with a particular date

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,
I am having a problem that if my filter is set to a particular date, my
AdvancedSearch will not return any result.
But if it's set to a range, it is working fine. Is that the normal behavior?
Here is my code.

strScope = "Inbox";
strFilter = "urn:schemas:httpmail:datereceived = '27.06.2007'";
strTag = "Search";
searchResult = OutlookApplication.AdvancedSearch(strScope, strFilter,
'False', strTag);


If the filter is set to

strFilter = "urn:schemas:httpmail:datereceived >= '26.06.2007' And
urn:schemas:httpmail:datereceived <= '27.06.2007'"

I get the mails of both 26th and 27th of June.
Any idea?
 
Yes, that makes sense. It is unlikely that you have any messages received with a date/time of exactly 27.06.2007 00:00. Try using this filter:

strFilter = "urn:schemas:httpmail:datereceived >= '27.06.2007 12:00AM' And urn:schemas:httpmail:datereceived < '28.06.2007 12:00AM'"
 
Hello Sue,
An additional question with the format of the filter.
In the case below, I will only be able to get a correct result if my filter
has the same date format as set in the local machine, is that true?
I have tried to set my machine format to yyyy-mm-dd but keep the search
criteria as described below, there is an error thrown.
Is there any generic way to set the filter that is independent from the date
format ?
Or do I have to read what the current settings of outlook/windows is before
setting the filter?
Thanks!
 
It's been a while since I've played with date formats, but I think you should use a generic format, such as dd mmm yyyy format. Also in the example below, I forgot to surround the property names with quotation marks and had the wrong operators. This should be better:

strFilter = Chr(34) & "urn:schemas:httpmail:datereceived" & Chr(34) & _
" < '27 Jun 2007 12:00AM' And " & Chr(34) & _
"urn:schemas:httpmail:datereceived" & Chr(34) & " >= '28.06.2007 12:00AM'"

You can also use the Filter dialog for a view to create a working filter as a model and then copy the query string from the SQL tab.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
 
Hi Sue,

I am trying to do something similar with a filter but rather a date range
I am looking to filter on a time range for any date.

For example I want to see emails in a folder that were either
sent/received between 10:00 - 17:00 and then again see which ones were not
sent in that range.

Is there a method for putting wild cards in the search string?
 
Back
Top