@Command([FileOpenDatabase] oder Rahmenproblem?

  • Ich habe zwei zusammengehörige Datenbanken.
    In der Gliederung sind jeweils mehrere Einträge, die eine Ansicht in der jeweils anderen Datenbank öffnen.



    Gliederungseintrag ist Aktion - berechnet
    Formel:

    Code
    _DBPfad:=@LeftBack(@Subset(@DbName;-1);"\\");                                      ***Auslesen des Pfades der aktuellen Datenbank
    _DBServer:=@Subset(@DbName;1);
    _DB:=_DBPfad + " \\yyy.nsf";                                                     *** Pfad für die andere DB setzen (Leerzeichen vor \\ nur wg Formatierung im Forum)
    
    
    @Command([FileOpenDatabase];_DBServer:_DB);
    @SetTargetFrame("NotesView");
    @Command([OpenView];"yyyAnsicht")

    _



    Mein Problem ist, daß sich bei jedem Klick auf so einen Link ein neuer Reiter öffnet.



    Ich vermute, daß es an dem @Command([FileOpenDatabase] liegt. Gibt es eine Formel, mit der ich vorher abfragen kann, ob die Datenbank schon geöffnet ist?


    Oder liegt es womöglich an irgendwelchen Frame-Einstellungen?



    Gruss
    Lizzy

  • Aber nur wenn der View noch nicht offen ist.
    Ist er schon offen wir nur ins entsprechende Fenster gewechselt.


    Der newinstance Parameter bei FileOpenDatabase dürfte da auch nicht viel bringen.


    Beschreib doch mal was genau du erreichen willst, vielleicht gibt es da ja einen besseren Weg

  • Ich versuchs mal


    Ich habe die Datenbanken A und B
    Die Gliederung sieht bei beiden Datenbanken gleich aus
    Gliederungseinträge 1 - 4 zeigen auf Ansichten in Datenbank A
    Gliederungseinträge 5 - 8 zeigen auf Ansichten in Datenbank B


    Einheitliche Gliederung, damit es für den User immer gleich aussieht, egal welche Datenbank er öffnet.
    Verteilung der Daten auf zwei Datenbanken, weil eine nach aussen repliziert wird und in der anderen interne Dokumente sind.


    Wenn User jetzt Datenbank A öffnet, hier auf Punkt 5 klickt, öffnet sich Datenbank B in einem zweiten Reiter - das ist auch noch ok.
    Jetzt klickt User hier (im zweiten Reiter) auf Punkt 1 -> dritter Reiter wird geöffnet
    Klick auf Punkt 6 -> vierter Reiter wird geöffnet
    usw.


    Wenn ein User viel zwischen den Ansichten wechselt, hat er irgendwann jede Menge Reiter. Ich möchte aber max. 2 Reiter (Datenbank A und B) offen haben, und in diesen nur die aufgerufene Ansicht wechseln.

  • Du könntest höchstens verhindern, daß wenn du Ansichten in der gleichen DB aufmachst, daß sich dann kein neuer Reiter öffnet, indem du statt FileOpenDatabase nur OpenView verwendest.
    Das andere ginge glaube ich nicht

  • Hab jetzt doch eine Lösung gefunden.


    Die zweite Datenbank wird jetzt überhaupt nicht mehr geöffnet, sondern die Ansichten aus der zweiten gleich in der ersten Datenbank geöffnet.


    So kann der User rumklicken so viel er will, es ist immer nur der eine Reiter offen.


    Wen's interessiert:
    Gliederungspunkt: Benanntes Element - Ansicht - berechnet


    oben:
    "View"


    mitte:
    _DBPfad:=@ReplaceSubstring(@LeftBack(@Subset(@DbName;-1);"\\");"\\";"/");
    _DBServer:=@Subset(@DbName;1);
    _DBint:=_DBPfad + "/bbb.nsf";
    _DBServer + "!!/" + _DBint


    unten:
    "Ansichtsname"