1

最初の列がフォーム上の 3 つの異なる名前のいずれかになるビューを作成しました。エージェントにビュー内の各ドキュメントを調べてもらい、ビュー内の各人物に関連するドキュメントの情報を含む電子メールを作成してもらいたいと考えています。各人物は、フォームの 3 つの名前フィールドのいずれかになることができますが、フォームに表示できるのは 1 回だけです。したがって、1 人の人物に 5 つのドキュメントがある場合、名前 a に 3 つ、名前 b に 1 つ、名前 1 に 1 つ存在する可能性があります。名前 c.

ドキュメントの最初の列の値を取得しようとすると、問題が発生します。最初のドキュメントを取得しても 3 つの名前を含むドキュメントしか取得できないため、ビューで現在の列にどの名前が含まれているかを知る必要があります。他の 2 つの分野の人々に到達するときに、このドキュメントを再度処理することになりますが、これをアルファベット順に行う必要があり、ビュー内の次の人物に移動する前に、1 人の人物についてすべてのドキュメントを処理する必要があります。

これは、このビューを使用して実行できることですか、それとも、名前ごとに検索を行い、その方法で各人のドキュメントを取得する必要がありますか? ビュー列の値を取得する簡単な方法があると思いましたが、ここでの例では、それがどのように機能するかわかりません。または、それは私が脳のけいれんを起こしている非常に単純なものです.

前もって感謝します。

4

2 に答える 2

2

AllEntries私の説明が正しければ、NotesView のプロパティを使用して、ドキュメントではなくビュー エントリをループ処理できるはずです。各エントリ (つまり、NotesViewEntry オブジェクト) 内には列値プロパティがあり、その特定のエントリに表示される特定の列値を取得できます。

Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim entry As NotesViewEntry

Dim vc As NotesViewEntryCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set view = db.getView("My View")
Set vc = view.AllEntries

Set entry = vc.GetFirstEntry()
While Not (entry Is Nothing)

    *** Process columns from entry here ***

    Set entry = vc.GetNextEntry()
Wend
于 2012-12-26T16:25:20.613 に答える
2

最初の列の式を次のようにすることができます

(fieldA +"^A") : (fieldB  +"^B") : (fieldC  + "^C')

リストにスカラーを追加すると、リストの各要素にスカラーが追加されるため、列内の各名前は元のフィールドの名前でタグ付けされます。次のような結果になるはずです。

Adam Abel^A
Adam Abel^A
Adam Abel^C
Bob Baker^B
Carl Cook^A
Carl Cook^B
David Day^B
David Day^C
David Day^C

そして、列エントリをループしながら、フィールド ID から名前を分割するだけです。

于 2012-12-26T22:58:11.790 に答える