水晶报道:记录选择公式没有拿起所有域名

时间:2010-09-03 18:25:28

标签: crystal-reports

我将以下内容放在记录公式中,该公式将域名删除为名称。例如,如果域是mit.edu,则返回mit。如果域是pluto.mit.edu,则返回mit。

    if count > 1
       c := mid(left({?domainname}, instrrev({?domainname},".")-1, instr(left({?domainname}, instrrev({?domainname},".")-1), ".")+1)
    else 
       c := left({?domainname),instr({?domainname},".")-1); 

     instr({bob.domain},c) =1

我的问题是,如果域名为“mit”,它将返回{domain}字段中具有相应mit.edu的所有项目,但不返回具有子域名的项目,例如new.mit.edu。是

1 个答案:

答案 0 :(得分:2)

尝试将instr({bob.domain},c)=1更改为instr({bob.domain},c)<>0

您的代码仅使用已解析的域名(字符位置1)捕获开始的字符串。所以,如果c =“mit”并且你想在记录上匹配{bob.domain} =“new.mit.edu”那么你必须考虑字符串c出现在域中的任何一点 - &gt; instr(“new.mit.edu”,“mit”)= 5,而不是1。