2

我有一个包含大约 20,000 个文档的数据库。其中一个视图按文档编号分类并排序,以使最后创建的文档是每个类别中的第一个文档。某些类别(文档编号)仅具有与之关联的文档,但其他类别具有与其关联的多个文档。我想确定每个类别中最后创建的文档,并写入一个字段,将其标识为最新版本。我以为这很容易,但是,我遇到了困难。任何帮助,将不胜感激。

乔丹

4

1 回答 1

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
于 2013-07-05T16:42:40.193 回答