在 Lotus Script 或 Lotus Formula 的视图中显示表单中的所有字段

Display all Fields from a Form in a View in Lotus Script or Lotus Formula

是否有任何简单的方法来创建包含表单中所有可用字段的视图?

我有一个包含 100 多个字段的表单,创建包含所有字段的视图将花费太多时间。目的是在视图中导出数据。

也许你可以使用

ReadViewEntries 使用此命令访问 XML 形式的视图数据,不带外观属性,例如字体、列表分隔符、日期格式、HTML 设置、视图模板和框架重定向。 语法:

http://Host/Database/ViewName?ReadViewEntries

Link: http://www.ibm.com/developerworks/lotus/library/ls-Domino_URL_cheat_sheet/

您可以打开使用表单创建的文档并遍历 NotesItems。在那里你可以得到字段名称。

代码可能如下所示:

Dim field List As String

Forall i in doc.Items
    field(i.Name) = i.Text
End Forall

您现在有一个列表,其中包含字段的文本表示形式作为值,字段名称作为列表标记。

或者您可以对每个文档执行此操作并导出所有类似的值。创建一个包含 100 列的视图将创建一个巨大的视图索引。不是个好主意。

您可以使用 NotesDatabase.CreateView method, and create columns to this View by using NotesView.CreateColumn. The list of all fields in Form you can get from NotesForm.Fields property. The Form itself you can get from NotesDatabase.GetForm 方法创建 View
这是示例:

Dim ses As New NotesSession
Dim db As NotesDatabase
Dim form As NotesForm   
Dim view As NotesView

Set db = ses.CurrentDatabase

formName$ = "YourFormName"

Set form = db.GetForm(formName$)

Set view = db.CreateView(formName$ & "Fields", {Form = "} & formName$ & {"})

Forall field In form.Fields
    Call view.CreateColumn(, field, field)
End Forall