首页 > 解决方案 > 使用参数时,选择条件中需要一个数字

问题描述

我是 CR 的新手,我认为这是一个复杂的问题。当用户运行报告时,我希望用户不输入任何内容 - 这将获取所有内容,或者输入该字段的值 - 以获取这些特定值。让我知道我是否正在接近这个权利。

我正在尝试在记录选择公式编辑器中使用公式。该公式引用了一个参数。我正在尝试WrkOrder.Center在我的选择标准中使用字段 - 这是一个数字。

我在记录选择公式编辑器中收到错误“此处需要一个数字”。我需要做一个totextcstr?它似乎仍然不正确。

如果中心为空白,则获取所有中心,否则获取运行报告的用户在参数中输入的选定中心。

if {?Center}="" then true else {?Center}=cstr({WRKORDER.CENTERNBR})

if {?Center} = "" then true else {?Center}={WRKORDER.CENTERNBR}

获取输入或获取所有中心的参数

标签: crystal-reportscrystal-reports-2010

解决方案


首先要检查的是参数的数据类型和数据库字段的数据类型,以确保它们匹配。

如果您编辑参数,顶部表单上的前三个控件是名称、类型和值列表。类型的下拉框将识别参数的数据类型。

要识别数据库字段的数据类型,请在字段资源管理器中找到该字段,如果您还没有看到每个表的列名旁边列出的数据类型,请右键单击任何字段名称并单击“显示字段类型" 这将打开和/或关闭字段数据类型的显示。我相信它通常默认关闭。

为了使用 = 运算符进行比较,这两个对象必须具有匹配的数据类型。您无法更改数据库字段的数据类型,但可以更改参数的数据类型以匹配它。

希望这将解决您的错误。您收到错误消息的最常见原因是当一个字段是数字类型而另一个字段是文本类型时。转换数据的函数将在公式字段中工作,但在选择专家公式中使用时通常会继续抛出错误。


推荐阅读