当前位置: 代码迷 >> Lotus >> 请问:怎么用对话框显示数据库中已经存在的文档
  详细解决方案

请问:怎么用对话框显示数据库中已经存在的文档

热度:74   发布时间:2016-05-05 07:16:57.0
请教:如何用对话框显示数据库中已经存在的文档?
有一数据库:AA.NSF,已经在里面创建了一个VIEWAA的视图(使用BB的表单),有AA和BB两个表单,现在想在AA文档上设计一个按钮,然后要其显示数据库中已经保存的BB文档(不是在对话框中新建BB文档,而是查询VIEWAA的视图,找到已经建立的BB文档,查询的条件是BB文档中的文档ID=“123456”)请大家帮忙。

------解决方案--------------------
参考代码如下,需要做进一步的调试。
JScript code
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.在列出的文档中选择打开即可。
另外,还可以做得更人性化些,如只找到一个,就不弹对话框,直接打开等等。

  相关解决方案