我有一个问题,我不太明白,而且我已经用了很长一段时间了。
从现有文档中我想创建一个新文档(相同的DB不同形式)。 我在这个表单中使用了一个按钮。
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调用打开它时,该文档也处于未保存状态。
这是返回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设置正确,所有预填充值都已设置,但它不会打开。我做错了什么?
是否可以在表单属性中设置一些标志?我没有进一步的想法
提前感谢您的帮助。
答案 0 :(得分:1)
我找到了解决方案。这里的关键是最后的newInstance标志
Call ws.EditDocument(True, NREDOC, False, "", False, True)
将标记设置为True
解决了我的问题。不幸的是,这是我玩的最后一面旗帜。
答案 1 :(得分:0)
您还可以将新文档显示在DialogBox中,以便所有内容都保留在同一屏幕上,并阻止访问第一个文档。唯一不同的是保存新文档的方法。实际上很有意思......