Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Johannes Kohl am 15.04.05 - 15:10:19
-
Hallo,
ich bin dabei eine Anwendung zu überarbeiten, dabei bin ich auf ein Problem gestoßen. Die Anwendung besteht aus mehreren Datenbanken, man sollte auch zwischen diesen Datenbanken wechslen können.
Es gibt nun die Möglichkeit mit dem Befehl "FileOpenDatabase" eine andere Datenbank zu öffnen. Das klappt auch ganz gut. Nun zu meiner Frage:
Kann man irgendwie rausbekommen, ob einen Datenbank geöffnet ist, und wenn ja, dann einfach in das Fenster der geöffneten Datenbank wechseln?
???
also ein Button der folgendes macht:
wenn Ziel-DB offen, dann wechsle in die DB,
wenn Ziel-DB nicht offen, dann öfnne DB
Vielen Dank schonmal... :)
-
Hi,
es gibt einen Parameter "NeueInstanz" Die Designer-Hilfe schreibt dazu:
NeueInstanz
Zahl. Optional. Geben Sie "1" an, wenn Sie möchten, dass die Ansicht in einem neuen Fenster angezeigt wird, auch wenn die Datenbank bereits in dieser Ansicht geöffnet ist. Wenn Sie diesen Parameter nicht angeben, wird das neue Fenster nur geöffnet, wenn die Datenbank in einer neuen Ansicht geöffnet wird.
Axel
-
Hi,
das mit der neuen Instanz funktioniert nicht so richtig.. :(
ich bin in Datenbank "a" und möchte einfach in Datenbank "b" wechseln, das geht so...
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Call ws.OpenDatabase("", "datenbankname","","","true")
End Sub
"b" öffnet sich - bis jetzt alles wunderbar, nun zum Problem - wennn Datenbank "b" schon offen ist, dann wird die Datenbank nochmal geöffnet... und das will ich vermeiden...ich will in diesem Fall einfach nur in das Fenster von "b" wechseln...
aber irgendwie finde ich da gar keine Möglichkeit zu...
jk
-
Hi,
du hast den Parameter newInstance falsch gesetzt. Du musst hier False übergeben.
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Call ws.OpenDatabase("", "datenbankname","","", False)
End Sub
So sollte das gehen.
Axel
-
Hmm, egal welchen Parameter ich übergebe, es wird immer ein neues Fenster geöffnet...
jk
-
Habe einen Weg gefunden... ;D
server := @Name([CN]; @Subset(@DbName; 1));
@PostedCommand([FileCloseWindow]);
@PostedCommand([FileOpenDatabase];server:"dbname")
durch das "Posted" werden die Aktionen erst ausgeführt, wenn die vorigen Aktionen durchgearbeitet sind... also wird hier in diesem Fall das aktuelle Fenster geschlossen und erst danach die angegebene Datenbank geöffnet.. so hat man immer nur ein Fenster auf... und das ist so ungefähr das, was ich wollte...
-
Hi,
so ganz verstehe ich das immer noch nicht, warum das mit dem NeueInstanz-Parameter nicht funktioniert, aber sei's drum.
Du kannst deine Formel aber noch etwas vereinfachen. Du kannst @Subset direkt übergeben. Das würde dann so aussehen:
@PostedCommand([FileCloseWindow]);
@PostedCommand([FileOpenDatabase];@Subset(@DbName; 1):"dbname")
Axel