如何从Form的queryOpen或postOpen事件中关闭当前数据库

时间:2016-06-08 21:13:02

标签: lotus-notes

我注意到在表单的postOpen事件中,如果我这样做

set ws as new notesUIWorkspace

ws.CurrentDatabase为空,因此我无法发出ws.CurrentDatabase.Close

在queryOpen事件中,ws.CurrentDatabase存在,但是我不能发出ws.Prompt来询问用户是否要关闭数据库。

以前有人处理过这个吗?

感谢 CLEM

2 个答案:

答案 0 :(得分:0)

我认为您需要将Continue设置为false并且它将起作用。 我试过了,效果很好。

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
    Continue = False
    Dim ws As New notesuiworkspace
    Call ws.CurrentDatabase.Close
End Sub

答案 1 :(得分:0)

感谢Dmytro,但问题是我需要向用户显示一条消息,看他们是否要关闭数据库。而这在QueryOpen事件中是不可能的,但可以在PostOpen事件中起作用。

在半夜,我醒来时得到了答案:只需贴近文件即可!所以在PostOpen事件中,我问他们是想继续在这个数据库中还是退出。如果他们想要退出,我现在发出source.close并关闭文档。

对于数据库,我做同样的事情。在Database Script库中,我将代码放在PostOpen事件中。 'source'是数据库。所以我也这样做:发出一个Source.Close并关闭数据库。

克莱姆