BindingSource按日期和字符串过滤

时间:2017-02-08 13:09:29

标签: vb.net bindingsource

我有一个日期查询如下:

ShipD: IIf(RecQry].[Gate]="GN", [RecQry].[SDATEE], "")

也试过这个:

ShipD: IIf(RecQry].[Gate]="GN", CDate([RecQry].[SDATEE]), "")

现在,当我使用以下代码执行绑定源过滤器时,它会给我错误。

dDate = String.Format("[" & ShipDStr & "] >= #{0:M/dd/yyyy}# and 
[" & ShipDStr & "] <= #{1:M/dd/yyyy}#", StartDate.Text, EndDate.Text)
  

未处理的类型&#39; System.Data.EvaluateException&#39;发生在System.Data.dll

中      

其他信息:无法执行&#39;&gt; =&#39; System.String和System.DateTime

上的操作

我尝试从过滤器中删除哈希符号,但仍然会收到错误,除非这次是

  

其他信息:无法执行&#39;&gt; =&#39; System.String =和System.Double

上的操作

尝试使用以下代码,我仍然收到错误:

dDate = "[" & ShipDStr & "] >= #{" & StartDate.Text & ":M/dd/yyyy}# and [" &
ShipDStr & "] <= #{" & EndDate.Text & ":M/dd/yyyy}#"
  

其他信息:字符串未被识别为有效的DateTime

输出将显示在datagridview上。我可以暂时隐藏它,但是当我尝试导出它时,这些隐藏的值最终会显示出来。 任何人都可以提供一些解决方案吗?

1 个答案:

答案 0 :(得分:0)

找到解决方案:

ShipD: IIf(RecQry].[Gate]="GN", [RecQry].[SDATEE])

从查询中删除false值应修复它。