List LotusNotes—列表中实际元素和之前元素之间的差异

List LotusNotes—列表中实际元素和之前元素之间的差异,list,view,lotus-notes,List,View,Lotus Notes,我的表单包含一个名为:txt\u number的数字字段,它是计算出来的,是两个可编辑数字字段的总和:txt\u no1和txt\u no2 所有txt\u number字段都存储在一个视图中(以便能够在之前获取元素),方式如下: @Unique ( @DbLookup( "" : "NoCache" ; @DbName ; "vwTest" ; field1+field2 ; 2 )); “vwTest”有两列:第一列为分类列(field1+field2),第二列的默认列值为txt\u nu

我的表单包含一个名为:
txt\u number
的数字字段,它是计算出来的,是两个可编辑数字字段的总和:
txt\u no1
txt\u no2

所有
txt\u number
字段都存储在一个视图中(以便能够在之前获取元素),方式如下:

@Unique ( @DbLookup( "" : "NoCache" ; @DbName ; "vwTest" ; field1+field2 ; 2 ));
“vwTest”有两列:第一列为分类列(field1+field2),第二列的默认列值为
txt\u number

因此,我的主题问题中的列表是
“vwTest”
,包含第2列中的所有
txt\u编号

假设保存的第一个文档将具有
txt\u number=5
。当一个新的医生。创建,并计算txt_no1和txt_no2,我们得到
txt_number=10

表单有一个名为
txt\u diff
的计算字段,我想在其中获取最后一个txt\u数字与实际数字之间的差值。(
10-5=5

因此,如果它将是另一个新的表单,其
txt\u number=50
=>
txt\u diff
(在这个新创建的文档上)应该是
50-10=40。

vwTest
:字段1+field2 | txt|U编号

  • 列表项

                  |   1   ( => on this doc, `txt_diff = 1` )
                  |   10  ( => on this doc, `txt_diff = 9` )
                  |   23  ( => on this doc, `txt_diff = 13`)
       .......................
    

求你了,我需要你的帮助。谢谢

这仍然有些混乱,但是,如果我理解您的意思,您需要使用该视图作为参考来计算txt_diff

在这种情况下,您可以在事件QueryRecalc或QuerySave中放入一些代码来进行计算。这是一个示例代码:

(我在用内存编码,所以可能会有一些错误)

dim o_视图作为注释视图
尺寸o_导航作为注释查看导航器
尺寸o_文件作为注释查看
设置o_view=o_current_db.GetView(“按字段1和字段2分类的视图”)
设置o_导航=o_视图。CreateViewNavFromCategory(字段1+字段2)

设置o_doc=o_nav.GetlastDocument'你的问题是什么?我认为这非常令人困惑。你说的是两件不同的事情:“txt_数字…是计算出来的,它是两个可编辑数字字段的总和”和“txt_数字字段是从视图中获取的,用这种方式:”。显然不能两者兼而有之!更多的困惑:field1和field2是什么?您在@DbLookup中使用了它们,但在问题的其他地方没有提到它们。(顺便说一句:对于大多数Notes开发人员来说,前缀“txt_”用于文本字段,而不是数字字段。这也让您的问题变得混乱。)我编辑了我的问题,希望澄清。字段1和字段2都是表单上的两个可编辑字段。
dim o_view as NotesView
dim o_nav as NotesViewNavigator
dim o_doc as NotesViewEntry

set o_view = o_current_db.GetView("view_categorized_by_field1_field2")
set o_nav = o_view.CreateViewNavFromCategory(field1+field2)
set o_doc = o_nav.GetlastDocument  '<== THIS IS YOUR DOCUMENT TO CALCULATE txt_diff

'Do something more