2012-12-26 87 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分裂的名字只是簡單的事。