gpt4 book ai didi

crystal-reports - 循环遍历多值参数数组

转载 作者:行者123 更新时间:2023-12-04 19:15:31 26 4
gpt4 key购买 nike

我有一个允许多个值的参数。它用于我的数据库中的名称字段。我希望能够做的是允许用户输入一个名称,然后让 Crystal 找到任何名称,例如他们输入的任何名称。例如,您可以输入 4 个姓氏,而 Crystal 将返回在姓名字段中具有这些名字中的任何一个的任何人。我可以让“like”正常工作,但前提是数组中有一个字符串。这是我的选择公式:

    numbervar counter := 1;
numbervar positionCount:=count({?Customer Name}); //I'm not sure what to put
here. Count? UBound?

if {?Customer Name}[1] <> 'ALL'
then
(
while(counter <= positionCount)
do
(
{NAMEFIELD} like '*' & {?Customer Name}[counter] & '*';
counter := counter + 1;
);
)
else
if {?Customer Name}[1] = 'ALL'
then
true
)

此公式返回所有名称,而不是参数中的名称。关于我做错了什么的任何想法?

最佳答案

使用以下属性创建多值参数 ({?Customer Name}):

  • 默认值:所有
  • 所有多个值:TRUE

  • 在参数的选择列表网格中添加一行;提供 'ALL' 和 'ALL'(不带单引号)

    使用以下文本创建自定义函数(名为“Delimit”):
    // Delimit()
    // enclose each value in array in **, returning an array
    Function (Stringvar Array params)

    Split("*" + Join(params, "*,*") + "*", ",")

    修改报表的记录选择公式:
    If {?Customer Name}<>"ALL" Then
    {TABLE.CUSTOMER_NAME} LIKE Delimit({?Customer Name})
    Else
    True

    或者,创建一个公式以使用此文本显示参数的值:
    //{@Customer Name}
    Join( Delimit({?Customer Name}), ";")

    关于crystal-reports - 循环遍历多值参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093544/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com