我有一个 Java 应用程序,它通过其 Java 库调用 Crystal Reports。其中一份报告的记录选择器中有以下子句:
and ({DriverMotionView.GROUPID} = {?GroupID1Parameter}
or {DriverMotionView.GROUPID} = {?GroupID2Parameter}
or {DriverMotionView.GROUPID} = {?GroupID3Parameter}
or {DriverMotionView.GROUPID} = {?GroupID4Parameter}
or {DriverMotionView.GROUPID} = {?GroupID5Parameter}
or {DriverMotionView.GROUPID} = {?GroupID6Parameter}
or {DriverMotionView.GROUPID} = {?GroupID7Parameter}
or {DriverMotionView.GROUPID} = {?GroupID8Parameter}
or {DriverMotionView.GROUPID} = {?GroupID9Parameter}
or {DriverMotionView.GROUPID} = {?GroupID10Parameter}
)
每个 GroupIDnParameter 都是一个整数 groupID,通过从 UI 中的树结构中选择一个组名来创建。UI 将这些转换为 groupID 并将它们传递到报告中。现在,此记录选择器可以工作,但将所选组的数量限制为 10。
我想取消这个限制。为了检查可能解决方案的语法,我首先尝试了以下
and {DriverMotionView.GROUPID} in [-1, 1618, 1608, 1610, -1]
这确实选择了 groupID 1618、1608 和 1610 的记录。
所以然后我尝试了类似的东西
and {DriverMotionView.GROUPID} in {?GroupIDListParameter}
其中 GroupIDListParameter 作为字符串 [-1, 1618, 1608, 1610, -1] 传入。这会导致运行时 Crystal Reports 错误。
我试过了
and {DriverMotionView.GROUPID} in [{?GroupIDListParameter}]
但该子句在语法上不正确,并导致语法检查时出现“数组必须下标”错误。
可能有另一种方法可以解决这个问题,但我无法在在线帮助、阅读用户指南甚至谷歌搜索中找到它。
任何建议,将不胜感激。