Answered by:
condition expression with date time

Question
-
how do i write a condition express to find records greater than some date 4pm
the following returns zero records and i know there are some
Dim conditionPrincipalZipCode As New ConditionExpression
conditionPrincipalZipCode.AttributeName =
"createdon"
conditionPrincipalZipCode.Operator = ConditionOperator.In
conditionPrincipalZipCode.Values =
New Object(0) {}
conditionPrincipalZipCode.Values(0) =
"2009-12-20 16:00:00"
Wednesday, December 23, 2009 7:36 PM
Answers
-
Hi
Try this.
VB
-----------------------------
Dim query As New QueryExpression()query.EntityName = "account"
Dim columns As New ColumnSet()
columns.Attributes = New string() { "createdon", "name" }
query.ColumnSet = columns
query.Criteria = New FilterExpression()
query.Criteria.FilterOperator = LogicalOperator.AndDim condition1 As New ConditionExpression()
condition1.AttributeName = "createdon"
condition1.Operator = ConditionOperator.GreaterEqual
condition1.Values = New Object() { "2009-11-02T03:00:25-05:00" }query.Criteria.Conditions = New ConditionExpression() { condition1 }
C#
-------------------------
QueryExpression query = new QueryExpression();query.EntityName = "account";
ColumnSet columns = new ColumnSet();
columns.Attributes = new string[] { "createdon", "name" };
query.ColumnSet = columns;
query.Criteria = new FilterExpression();
query.Criteria.FilterOperator = LogicalOperator.And;ConditionExpression condition1 = new ConditionExpression();
condition1.AttributeName = "createdon";
condition1.Operator = ConditionOperator.GreaterEqual;
condition1.Values = new object[] { "2009-11-02T03:00:25-05:00" };query.Criteria.Conditions = new ConditionExpression[] { condition1 };
Regards
Vinoth- Proposed as answer by VinothBalasubramanian Thursday, December 24, 2009 8:07 AM
- Marked as answer by DavidJennawayMVP, Moderator Thursday, February 11, 2010 8:49 AM
Thursday, December 24, 2009 8:06 AM
All replies
-
Hi.
You have to use instance of CrmDateTime class. I don't know how it will be in VB.Net but in C# must be something like:
conditionPrincipalZipCode.Values[0] = new CrmDateTime("2009/12/20T00:00:00");
Check this url - http://technet.microsoft.com/en-us/library/cc151068.aspx
Truth is opened the prepared mind My blog - http://a33ik.blogspot.comWednesday, December 23, 2009 7:48 PMModerator -
0x80040203
Condition for attribute 'createdon': date-time values are expected to be passed as strings.
PlatformWednesday, December 23, 2009 7:56 PM -
0x80040203
Condition for attribute 'createdon': date-time values are expected to be passed as strings.
Platform
Yes - this is my mistake.
Try following code:
conditionPrincipalZipCode.Values(0) = "2009/12/20T16:00:00";
Truth is opened the prepared mind My blog - http://a33ik.blogspot.comWednesday, December 23, 2009 8:28 PMModerator -
Hi
Try this.
VB
-----------------------------
Dim query As New QueryExpression()query.EntityName = "account"
Dim columns As New ColumnSet()
columns.Attributes = New string() { "createdon", "name" }
query.ColumnSet = columns
query.Criteria = New FilterExpression()
query.Criteria.FilterOperator = LogicalOperator.AndDim condition1 As New ConditionExpression()
condition1.AttributeName = "createdon"
condition1.Operator = ConditionOperator.GreaterEqual
condition1.Values = New Object() { "2009-11-02T03:00:25-05:00" }query.Criteria.Conditions = New ConditionExpression() { condition1 }
C#
-------------------------
QueryExpression query = new QueryExpression();query.EntityName = "account";
ColumnSet columns = new ColumnSet();
columns.Attributes = new string[] { "createdon", "name" };
query.ColumnSet = columns;
query.Criteria = new FilterExpression();
query.Criteria.FilterOperator = LogicalOperator.And;ConditionExpression condition1 = new ConditionExpression();
condition1.AttributeName = "createdon";
condition1.Operator = ConditionOperator.GreaterEqual;
condition1.Values = new object[] { "2009-11-02T03:00:25-05:00" };query.Criteria.Conditions = new ConditionExpression[] { condition1 };
Regards
Vinoth- Proposed as answer by VinothBalasubramanian Thursday, December 24, 2009 8:07 AM
- Marked as answer by DavidJennawayMVP, Moderator Thursday, February 11, 2010 8:49 AM
Thursday, December 24, 2009 8:06 AM