0

他のドキュメントに存在するデータをフィルタリングして、Lotus ドキュメントのデータを表示する際に問題があります。たとえば、従業員 (フィールド "EmpName" と "EmpNo") とドキュメント (フィールド "DocNo" と "EmpNo") の 2 つのドキュメントがあります。また、従業員からのドキュメントを表示するビューを作成する必要がありますが、ドキュメントには EmpNo のドキュメントが含まれていません。つまり、Docs に EmpNo=12 のドキュメントが存在する場合、EmpNo=12 の Employees からのデータは表示されてはなりません。

SQLでは、「select * from Employees where EmpNo not in (select EmpNo from Docs)」のようにできます。

LotusNotes でそのようなことはできますか?

ありがとう、トーマス。

4

2 に答える 2

0

Lotus Notes には結合の概念がないため、セット (従業員) を別のセット (ドキュメント) に関連付けてフィルタリングする方法はありません。

ビューに従業員を表示したいので、従業員番号を含む Doc ドキュメントがあるかどうかを示すインジケーターを Employee ドキュメントに追加する必要があります。

EmpNo.

次に、@DbLookup を使用して非表示のビューをルックアップする計算フィールドを Employee フォームに作成します。一致が見つかった場合はそのフィールドを 1 に設定し、一致しない場合は 0 に設定できます。

最後に、Employees ビューの選択式に、計算フィールド = 1 という条件を追加できます。

いずれかが変更されると、これらの従業員ドキュメントを更新するという問題が引き続き発生します。従業員ドキュメント内のインジケータ フィールドは、保存すると自動的に更新されるため、そのような問題はありません。しかし、Doc ドキュメントが変更されると、同期が取れなくなる可能性があります。この問題を解決する 1 つの方法は、すべての従業員ドキュメントを更新するエージェントを作成し、Doc ドキュメントを保存した後にそのエージェントをトリガーすることです。

于 2013-08-16T12:45:49.963 に答える
0

私はケンに同意します。ビューが最適に機能するには、インジケータが必要です。ドキュメントを編集するたびにエージェントを実行するほどコストがかからないエージェント オプションがいくつかあります。エージェントを 1 日に数回実行するように設定できます。それは単に情報の必要性に依存します。

于 2013-08-26T15:38:03.363 に答える