我对莲花笔记很陌生。这一切都将在客户端完成。我需要编写一个自定义搜索来搜索特定表单。这是字段的示例:
FormName = MyForm1 数据库字段称为 Name1、Name2、Name3 数据库字段分别为部门 1、部门 2、部门 3、部门 4。
搜索表单将只有 2 个字段。姓名和部门。我需要发生以下情况,名称搜索字段需要搜索所有 3 个名称字段,部门字段需要搜索所有 4 个部门字段。
谢谢您的帮助。
我对莲花笔记很陌生。这一切都将在客户端完成。我需要编写一个自定义搜索来搜索特定表单。这是字段的示例:
FormName = MyForm1 数据库字段称为 Name1、Name2、Name3 数据库字段分别为部门 1、部门 2、部门 3、部门 4。
搜索表单将只有 2 个字段。姓名和部门。我需要发生以下情况,名称搜索字段需要搜索所有 3 个名称字段,部门字段需要搜索所有 4 个部门字段。
谢谢您的帮助。
这在一定程度上取决于您需要搜索的模糊程度。您是在这些字段中搜索完全匹配还是部分匹配?
假设完全匹配,您只需要一个在多个名称字段和多个部门字段中查找匹配的公式。我们将搜索查询字段命名为 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 + "%");
迈克——毫无疑问,内置搜索对你来说很好用!
以下是步骤... - 构建您的新表单(即“MyForm”)来保存您的数据;- 建立您的视图,将您的数据显示为列;- 将视图的“表单公式”设置为“MyForm”(带引号) - 确保视图的“搜索栏”已启用;- 输入要搜索的值;- 结果显示出来了,很好!
那应该有帮助...