请教:如何用对话框显示数据库中已经存在的文档?
有一数据库:AA.NSF,已经在里面创建了一个VIEWAA的视图(使用BB的表单),有AA和BB两个表单,现在想在AA文档上设计一个按钮,然后要其显示数据库中已经保存的BB文档(不是在对话框中新建BB文档,而是查询VIEWAA的视图,找到已经建立的BB文档,查询的条件是BB文档中的文档ID=“123456”)请大家帮忙。
[解决办法]
参考代码如下,需要做进一步的调试。
Sub Click(Source As Button) Dim w As New NotesUIWorkspace Dim s As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim doc As NotesUIDocument Set doc=w.CurrentDocument Set db=s.CurrentDatabase '需要在服务器上建立相关视图 Set view=db.GetView("viewname") Dim tmpdoc As NotesDocument 'key值可以是当前文档的相关域值,也可以是你指定的值,需要重新赋值 Set tmpdoc=view.GetDocumentByKey("key") If Not tmpdoc Is Nothing Then Call w.EditDocument(False,tmpdoc) End IfEnd Sub
[解决办法]
假设原表单名称为FormA,文档ID为123;
1.建一个文件夹Folder;
2.建一个表单FromB,用嵌入视图的方式将Folder嵌入此表单。
3.在FormA表单创建按钮,用LotusScript编程
1)用DB.search()方法,将所有ID为123的文档形成文档集(NotesDocumentCollection);
2)用Call notesDocumentCollection.PutAllInFolder,将这个NotesDocumentCollection中的所有文档放到Folder中;
3)调用notesUIWorkspace.DialogBox,在弹出的对话框中打开FormB;
4.在列出的文档中选择打开即可。
另外,还可以做得更人性化些,如只找到一个,就不弹对话框,直接打开等等。