当前位置: 代码迷 >> Lotus >> 获取视图中的第N个文档解决方案
  详细解决方案

获取视图中的第N个文档解决方案

热度:168   发布时间:2016-05-05 07:20:29.0
获取视图中的第N个文档
Set vw = db.GetView("InfoPublishedByDate_View")
Set docTarget = vw.GetNthDocument(10)

为什么这样获取不到.请问下应该怎么获取.在线等```

------解决方案--------------------
我想您的方法不对。你应该先得到一个文档集合,然后进行定位,并判断处于位置10的文档是否存在。
语法如下:
Syntax
Set notesDocument = notesDocumentCollection.GetNthDocument( n% )
实例代码:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Set db = session.CurrentDatabase
Set collection = db.AllDocuments
Set doc = collection.GetNthDocument( 3 )
------解决方案--------------------
探讨
Set vw = db.GetView("InfoPublishedByDate_View")
Set docTarget = vw.GetNthDocument(10)

为什么这样获取不到.请问下应该怎么获取.在线等```

------解决方案--------------------
不好意思,刚才记混了。文档从1开始。
Set docTarget = vw.GetNthDocument(10)取不到文档,有两种可能性,
1. 文档数目确实不足。
2. 该视图是分类视图。
出现第一种情况lz自然能解决,第二种情况你可把视图第一列的分类属性去掉就能查出来了。
------解决方案--------------------
使用文档集是不行的,view取文档集后的排序就乱了
------解决方案--------------------
使用dc不行,会存在乱的情况,可以考虑考虑用如下方法:
VBScript code
Dim session As New NotesSessionDim db As NotesDatabaseDim view As NotesViewDim entry As NotesViewEntryDim vc As NotesViewEntryCollectionDim doc As NotesDocumentSet db = session.CurrentDatabaseSet view = db.getView("By Category")Set vc = view.GetAllEntriesByKey("Student")Set entry = vc.GetNthEntry(3)Set doc = entry.Document
------解决方案--------------------
使用dc不行,会存在乱的情况
------解决方案--------------------
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("By Category")
Set vc = view.GetAllEntriesByKey("Student")
Set entry = vc.GetNthEntry(3)
Set doc = entry.Document

五楼正解。这个要常用,如果视图使用比较频繁,建议常用entry而非dc 效率会快很多,特别是在文档有附件的情况下。
------解决方案--------------------
探讨
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.CurrentData……
  相关解决方案