Lotus Notes:创建带有预填字段的新文档,在不保存的情况下以编辑模式打开
Lotus Notes: Creating new document with prefilled fields, opening in edit mode without saving
我有一个不太明白的问题,我已经为此苦苦挣扎了一段时间。
我想从现有文档创建一个新文档(相同的数据库不同的形式)。
我在这个表单中使用了一个按钮。
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim thisProject As New kitcProject() '// this only wraps the current document
Set NREDOC = thisProject.newNREdocument() '// this returns a NotesDocument, that has not been saved yet
Call ws.EditDocument(False, NREDOC, False, "", True, False)
End Sub
这不起作用,它不会打开文档,除非我在使用 EditDocument 调用之前先保存它
Call NREDOC.Save(true, false)
我有一个类似的按钮功能,可以很好地处理来自另一个数据库的文档,当使用 EditDocument 调用打开它时,它也处于未保存状态。
这里是returns NREDOC
的函数
%REM
Function newNREdocument
Description: Returns a new NotesDocument prefilled of type NRE
%END REM
Public Function newNREdocument() As NotesDocument
Set me.nreDoc = db.Createdocument()
With me.nreDoc
.Form = "NRE"
.nreProjectID = me.uidocument.FieldGetText("prProjectID")
.nreProjectName = me.uidocument.FieldGetText("prProjectName")
End with
Set newNREdocument = me.nreDoc
End Function
在调试模式下检查 NREDOC 告诉我文档没有问题,ParentDatabase 设置正确,所有预填充值都已设置,但无法打开。我做错了什么?
是否可以在表单属性中设置一些标志?我没有进一步的想法
提前感谢您的帮助。
我找到了解决方案。这里的关键是最后的newInstance标志
Call ws.EditDocument(True, NREDOC, False, "", False, True)
将标志设置为 True
解决了我的问题。不幸的是,那是我玩的最后一个旗帜。
您还可以让新文档显示在对话框中,这样所有内容都保持在同一屏幕上,并且可以阻止对第一个文档的访问。唯一不同的是保存新文档的方法。其实挺有意思的...
我有一个不太明白的问题,我已经为此苦苦挣扎了一段时间。
我想从现有文档创建一个新文档(相同的数据库不同的形式)。 我在这个表单中使用了一个按钮。
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim thisProject As New kitcProject() '// this only wraps the current document
Set NREDOC = thisProject.newNREdocument() '// this returns a NotesDocument, that has not been saved yet
Call ws.EditDocument(False, NREDOC, False, "", True, False)
End Sub
这不起作用,它不会打开文档,除非我在使用 EditDocument 调用之前先保存它
Call NREDOC.Save(true, false)
我有一个类似的按钮功能,可以很好地处理来自另一个数据库的文档,当使用 EditDocument 调用打开它时,它也处于未保存状态。
这里是returns NREDOC
的函数%REM
Function newNREdocument
Description: Returns a new NotesDocument prefilled of type NRE
%END REM
Public Function newNREdocument() As NotesDocument
Set me.nreDoc = db.Createdocument()
With me.nreDoc
.Form = "NRE"
.nreProjectID = me.uidocument.FieldGetText("prProjectID")
.nreProjectName = me.uidocument.FieldGetText("prProjectName")
End with
Set newNREdocument = me.nreDoc
End Function
在调试模式下检查 NREDOC 告诉我文档没有问题,ParentDatabase 设置正确,所有预填充值都已设置,但无法打开。我做错了什么?
是否可以在表单属性中设置一些标志?我没有进一步的想法
提前感谢您的帮助。
我找到了解决方案。这里的关键是最后的newInstance标志
Call ws.EditDocument(True, NREDOC, False, "", False, True)
将标志设置为 True
解决了我的问题。不幸的是,那是我玩的最后一个旗帜。
您还可以让新文档显示在对话框中,这样所有内容都保持在同一屏幕上,并且可以阻止对第一个文档的访问。唯一不同的是保存新文档的方法。其实挺有意思的...