Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Johannes Kohl am 15.04.05 - 15:10:19

Titel: Wechsel zwischen verschiedenen Datenbanken
Beitrag 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... :)
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Axel am 15.04.05 - 16:47:34
Hi,

es gibt einen Parameter "NeueInstanz" Die Designer-Hilfe schreibt dazu:

Zitat
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
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Johannes Kohl am 18.04.05 - 11:13:05
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
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Axel am 18.04.05 - 11:46:03
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
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Johannes Kohl am 18.04.05 - 12:11:52
Hmm, egal welchen Parameter ich übergebe, es wird immer ein neues Fenster geöffnet...
jk
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Johannes Kohl am 19.04.05 - 09:30:23
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...
Titel: Re: Wechsel zwischen verschiedenen Datenbanken
Beitrag von: Axel am 19.04.05 - 10:10:28
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