【问题标题】:Lotus Notes custom searchLotus Notes 自定义搜索
【发布时间】:2011-08-19 13:01:41
【问题描述】:

我对莲花笔记很陌生。这一切都将在客户端完成。我需要编写一个自定义搜索来搜索特定表单。这是字段的示例:

FormName = MyForm1 数据库字段称为 Name1、Name2、Name3 数据库字段为department1、department2、department3、department 4。

搜索表单将只有 2 个字段。姓名和部门。我需要发生以下情况,名称搜索字段需要搜索所有 3 个名称字段,部门字段需要搜索所有 4 个部门字段。

感谢您的帮助。

【问题讨论】:

    标签: lotus-notes lotus lotusscript lotus-formula


    【解决方案1】:

    这在一定程度上取决于您需要搜索的准确程度。您是在这些字段中搜索完全匹配还是部分匹配?

    假设完全匹配,您只需要一个在多个名称字段和多个部门字段中查找匹配的公式。我们将搜索查询字段命名为 NameQuery 和 DepartmentQuery。然后,您可以构造这个公式,如果在其中一个名称字段中找到 NameQuery 中的值,并且在某个部门字段中找到 DepartmentQuery 中的值,则该公式将返回 true。

    @IsMember(NameQuery; Name1:Name2:Name3) & @IsMember(DepartmentQuery; Department1:Department2:Department3:Department4);
    

    如果您需要搜索部分匹配,则可以使用@LIKE 公式。首先,使用@IMPLODE 将姓名和部门字段值连接成一个字符串。然后,您可以进行通配符匹配。请注意,这不是很有效,因此如果您正在处理数以万计的文档,您可能希望找到更好的解决方案。

    AllNameItems := @Implode(Name1:Name2:Name3; " ");
    AllDepartmentItems := @Implode(Department1:Department2:Department3:Department4; " ");
    @Like(AllNameItems; "%" + NameQuery + "%") & @Like(AllDepartmentItems; "%" + DepartmentQuery + "%");
    

    【讨论】:

    • 感谢您提供的信息。所以我会创建一个表单并添加 2 个字段。然后创建一个显示搜索结果的视图?如果是这样,我如何将表单连接到视图?
    • 啊,现在我明白你要做什么了。首先,您可能想要更新您的问题以更好地描述您的目标。您正在尝试做的是 Lotus Notes 中的一件复杂的事情。视图选择公式是静态的,但您可以更新它们,如下所示:breakingpar.com/bkp/home.nsf/0/87256B280015193F87256DA400496CF2。使用该技术,您可以创建一个包含这两个字段的表单,当用户单击“搜索”时,您的代码可以更新视图的选择公式。它并不优雅,请注意它会影响查看该视图的所有用户。
    【解决方案2】:

    迈克—— 毫无疑问,内置搜索对您来说会很好用!

    这里是步骤... - 建立您的新表格(即“MyForm”)来保存您的数据; - 建立您的视图,将您的数据显示为列; - 将视图的“表单公式”设置为“MyForm”(带引号) - 确保视图的“搜索栏”已启用; - 输入要搜索的值; - 结果显示出来了,很好!

    这应该会有所帮助...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      相关资源
      最近更新 更多