xpages +在两个日期之间的视图面板中搜索

时间:2016-05-29 23:13:53

标签: search view xpages lotus-notes

我有一些数据视图,以及一个包含每个文档创建日期的列。我想创建一个包含3个输入字段的搜索功能:ip_address,StartDate,EndDate。搜索结果应该是2个日期内具有相同ip_address的所有文档。

我使用此链接 Xpages search between 2 dates

但是它给我发了这个错误

  

意外的运行时错误:运行时遇到意外错误。

     

com.ibm.xsp.FacesExceptionEx:Notes错误:文本字段不支持关系运算符注释错误:文本字段不支持关系运算符   enter image description here

这是搜索查询的代码:

        var search = "";
        var formatter = new java.text.SimpleDateFormat("dd/MM/yyyy");

        if (viewScope.StartDate) {
            search += ' AND [imp_dateTrace] >=' + formatter.format(viewScope.StartDate);
        }

        if (viewScope.EndDate) {
            search += ' AND [imp_dateTrace] <=' + formatter.format(viewScope.EndDate);
        }

        if (viewScope.imp) {
            search += ' AND [imp_IP]="' + viewScope.imp + '"';
        }
        if (viewScope.agence) {
            search += ' AND [imp_emplacement]="' + viewScope.agence + '"';
        }

        viewScope.searchquery = search;
        return viewScope.searchquery.substring(5);

1 个答案:

答案 0 :(得分:0)

您不使用此answer中显示的[_creationDate],而是使用您自己的字段imp_dateTrace

如果字段imp_dateTrace仅包含文档的创建日期,请改用[_creationDate][_creationDate]将起作用,因为您不依赖于文档中的字段类型。

如果您必须使用字段imp_dateTrace,请确保您的字段存储为文档中的日期字段。

如果是这种情况,那么数据库的UNK表可能会将此字段列为文本字段。如果首次创建为文本字段并稍后更改为日期字段,则会发生这种情况。在这种情况下,您必须修复UNK表:

  • 删除FT-index
  • compact数据库,带选项-c(复制样式)
  • 创建新的FT索引。

确保您的查询不以“AND”开头。您的问题中显示的代码就是这种情况。