繁体   English   中英

使用非值编辑参数字段Crystal报表吗?

[英]Edit Parameter Field Crystal reports with NOT value?

在Crystal Reports中,我想添加一个WHERE field <> date以从报表中的数据库中筛选出具有NULL值的日期。

我在后端使用旧版FoxPro数据库,该数据库从我的报告生成SQL语句,但似乎没有向生成的语句添加WHERE子句的方法。

当直接访问FoxPro的后端,红枣与psudo NULL值有一个日期1899-12-30 ,但当他们从FoxPro通过水晶拉它们显示为12/30/99 (这也许只是显示在同一日期MM/DD/YY格式)。

我注意到该报告具有一个现有的“参数字段”,提示用户从原始查询中过滤出特定日期范围。 我尝试在“参数字段”之外添加自己的字段,但是发现我的WHERE field <> date所需的选项不可用,因为主要只有3种类型的字段参数:

离散的

  • 接受单个值和离散值。

射程

  • 接受一个较低和较高的值,以选择此范围内的所有内容。

离散和远程

  • 以上两者的结合

这些似乎都不能使用WHERE NOT类型的子句来过滤查询结果,还有其他方法可以做到这一点吗?

将此添加到您的记录选择公式:

// remove actual nulls
AND Not(Isnull({table.date_field})) 
// remove old dates 
AND {table.field} <> date(1899,12,30) 
// remove dates not in select parameter value
AND {table.field} IN {@date_parameter}

我真正需要做的就是在SQL客户端的SQL语句的WHERE子句中添加一些条件,这在SQL客户端中已经足够简单了,但是当您在Crystal Reports v10中进行此操作时,很难找到它,除非您知道自己是什么。寻找...

所以我需要做的是:

  1. 选择要在报告中过滤的字段(在“ Details部分中)
  2. 单击Select Expert 在专家工具栏中选择专家按钮 Experts工具栏上的按钮。
  3. 在“ Select Expert对话框中,字段名称应显示在选项卡中。
  4. 您可以在下面选择用于过滤记录的WHERE条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM