0

我在通过过滤其他文档中存在的数据来显示来自 Lotus 文档的数据时遇到问题。例如:这是两个文档:Employees(带有“EmpName”和“EmpNo”字段)和Docs(带有“DocNo”和“EmpNo”字段)。我需要创建一个视图来显示来自员工的文档,但只有文档不包含带有 EmpNo 的文档。换句话说,如果在 Docs 中存在 EmpNo=12 的文档,则不得看到来自员工 EmpNo=12 的数据。

在 SQL 中,我可以这样做:“从员工中选择 *,其中 EmpNo 不在(从文档中选择 EmpNo)”。

我可以在 LotusNotes 中做类似的事情吗?

谢谢,托马斯。

4

2 回答 2

0

在 Lotus Notes 中,没有连接的概念,因此无法通过将一个集合(员工)与另一个集合(文档)相关联来过滤它。

由于您希望在视图中显示员工,因此您需要向员工文档添加一些指示符,以告知是否存在包含员工编号的 Doc 文档。

设置一个隐藏视图,其中包含所有 Doc 文档,如果 EmpNo 则具有排序的第一列。

然后在 Employee 表单上创建一个计算字段,该字段使用 @DbLookup 来查找该隐藏视图。如果找到匹配项,您可以将该字段设置为 1,否则设置为 0。

最后,您可以将计算字段 = 1 的条件添加到员工视图选择公式中。

您仍然会遇到将这些员工文档更新为任一更改的问题。员工文档中的指标字段会在您保存时自动更新,所以这不是问题。但是,如果 Doc 文档发生更改,事情可能会不同步。解决该问题的一种方法是创建一个代理来刷新所有员工文档并在您保存 Doc 文档后触发该代理。

于 2013-08-16T12:45:49.963 回答
0

我同意肯。要使视图发挥最佳作用,需要一个指标。有几个代理选项可能不像每次编辑文档时运行代理那样昂贵。您可以将代理设置为在一天中运行多次。这仅取决于信息需求。

于 2013-08-26T15:38:03.363 回答