2012-12-26 88 views
1

我创建了一个视图,其中第一列可以是表单上三个不同名称中的任意一个。我希望代理人浏览视图中的每个文档,并为视图中的每个人创建一封电子邮件,并附上与该人有关的文档中的信息。每个人可以是表格上的三个姓名字段中的任何一个,但他们只能在表格上一次,所以如果一个人有5个文件,名称a中可能有3个,名称b中有1个,名字c​​。Lotus Notes获取特定视图列值

当我尝试获取文档的第一列中的值时,我的问题即将到来。由于获取第一个文档只会得到一个包含3个名称的文档,因此我需要知道该视图中的列中的哪个名称。因为当我到达另外两个领域的人员时,我将再次处理此文档,但我必须按字母顺序执行此操作,并且在转到视图中的下一个人员之前,必须为一个人完成所有文档。

这是可以使用此视图做的事情,或者我必须做每个名称的搜索和抓取文件为每个人的方式。我认为有一个简单的方法来简单地获得视图列的值,但对于我的例子,我不知道如何工作。或者这是非常简单的事情,我只是脑筋受伤。

在此先感谢。

回答

2

如果我正确地关注了你,你应该能够遍历视图条目而不是使用NotesView的AllEntries属性的文档。在每个条目(即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 
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分裂的名字只是简单的事。