2016-06-08 6 views
0

Ich bemerkte schließen, dass in einem Postopen Ereignisse des Formulars, wenn ichWie kann ich die aktuelle Datenbank aus einem Formular queryOpen oder Postopen-Ereignisse

set ws as new notesUIWorkspace 

die ws.CurrentDatabase leer ist, so kann ich eine ws nicht ausgeben .CurrentDatabase.Close

Im Ereignis queryOpen ist die ws.CurrentDatabase vorhanden, aber ich kann kein ws.Prompt ausgeben, um den Benutzer zu fragen, ob er die Datenbank schließen möchte oder nicht.

Hat sich schon mal jemand damit beschäftigt?

dank clem

Antwort

0

Ich glaube, Sie auf false Weiter setzen müssen und es wird funktionieren. Ich habe das versucht und es hat gut funktioniert.

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 
0

Dank Dmytro aber das Problem ist, dass ich eine Nachricht an den Benutzer angezeigt werden, um zu sehen, ob sie die db oder nicht schließen möchten. Und das ist in dem Ereignis QueryOpen nicht möglich aber wird in dem PostOpen-Ereignis funktionieren.

Mitten in der Nacht wachte ich mit der Antwort auf: Einfach ein Dokument ausstellen! Also frage ich im PostOpen-Event, ob sie in dieser Datenbank weitermachen oder beenden wollen. Wenn sie beenden wollen, erstelle ich nun eine source.close und das Dokument schließt sich.

Für die Datenbank mache ich das gleiche. In der Datenbankskriptbibliothek habe ich Code in das PostOpen-Ereignis eingefügt. Dort ist "Quelle" die Datenbank. Also mache ich das gleiche: ein Source.Close ausgeben und es schließt die db.

Clem