我有一个包含大约20,000个文档的数据库。其中一个视图按文档编号分类,并进行排序,使得最后创建的文档是每个类别中的第一个文档。某些类别(文档编号)仅与文档相关联,但其他类别具有与之关联的多个文档。我想确定在每个类别中最后创建的文档,并写入一个字段,将其标识为最新版本。我觉得这很容易,但是,我遇到了困难。任何帮助将不胜感激。
MJ
答案 0 :(得分:4)
假设您有一个视图,如您所说的那样排序,使得最后创建的文档是每个类别中的第一个文档,这可能很简单。在这种情况下,如果您要遍历该视图,则只需要在每个类别之后检索第一个文档,并在其中一个文档的项目上设置一个值。
例如,
Dim s as New NotesSession
Dim db as NotesDatabase
Dim view as NotesView
Dim nav As NotesViewNavigator
Dim viewEntry as NotesViewEntry
Dim docEntry as NotesViewEntry
Dim doc as NotesDocument
Set db = s.CurrentDatabase
Set view = db.GetView("My Categorized and Sorted View")
Set nav = view.CreateViewNav
Set viewEntry = nav.GetFirst ' Should be your first category
While Not (viewEntry Is Nothing)
Set docEntry = nav.GetNextDocument(viewEntry) 'The first document entry after the category
Set doc = docEntry.Document
doc.ReplaceItemValue("Some item", "This is the latest doc")
doc.Save(false, false)
Set viewEntry = nav.GetNextCategory(viewEntry) 'Jump to the next category
Wend