neue Schlüsselwörter lassen sich nicht hinzufügen

  • Hallo Leute,


    ich habe eine ganz banale Dialogliste, der ich neue Werte hinzufügen möchte. Da dies so schön einfach ist, habe ich den Feld gesagt, es soll neue Werte zulassen. Doch leider muss ich feststellen, dass keine neuen Werte nach dem nächsten Öffnen in der Dialogliste zu finden sind. Was mache ich da noch falsch?


    Gruß Elli

  • Neue Werte hinzufügen heisst nur, dass du innerhalb eines Dokumentes Werte angeben kannst die bisher nicht vorhanden sind.
    Es heisst aber nicht dass dadurch die Schlüsselwortliste automatisch erweitert wird.
    Das lässt sich aber sehr leicht umsetzen:
    Erzeuge dir eine Ansicht, die als erste Spalte das Schlüsselwortfeld hat und alle Dokumente enthält.
    Im Schlüsselwortfeld machst du jetzt einen @DbColumn auf diese Ansicht.
    Damit hast du immer alle schon verwendeten Schlüsselwörter.

    • Offizieller Beitrag

    wahrscheinlich hast Du die Werte in die Dialiogbox fest eingetragen.
    Es ist besser Du baust Dir eine Ansicht, die nach den Feld kategoriesiert ist und dann holst Du die Werte per DBColumn in die Dialogbox.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • So geschafft, die Kategorien werden erstmal angezeigt, allerdings habe ich das Problem, dass die Einträge mehrmals vorhanden sind. Wie kann ich es bewerkstelligen, dass jeder Eintrag nur einmal da ist?

  • Jetzt mal blöd gefragt. Ich müßte im Prinzip die Formel in der Ansicht für die Spalte ungefähr so @Unique(Feldname) gestalten? Das hab ich gemacht und nichts ist passiert.

    • Offizieller Beitrag

    die nicht gewünschten Einträge dürfen in keinem Dokument mehr vorkommen, d.h. aus den Dokumenten, in denen die ungewünschten Werte stehen, müssen diese entfernt werden.


    Gruß
    Dirk

  • Wie würde der genau Befehl dann aussehen?


    @Unique(@DbColumn(*viewname*;1))


    *viewname* ist der name des views, in der die spalte steht.
    1 steht für die erste spalte.


    ist das so richtig? bei mir funktioniert das nämlich nicht.

    • Offizieller Beitrag

    @Unique(@DbColumn( "Notes" : "NoCache" ; @DBName; *viewname* ; Spaltennummer ))


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • es will noch nicht ganz funktionieren. wäre nett, wenn du mir noch mal ne antwort geben könntest. ich hab die zeile jetzt übernommen, er zeigt mir aber an das es diesen view (byCompy)nicht gibt, obwohl er existiert. hab ich vielleicht noch irgendetwas falsch gemacht? meine DB heißt Ambiguity2test, der view byCompy und die Spalte ist die erste.
    irgendwie will es einfach nicht klappen. vielleicht kannst du mir noch mal weiter helfen. danke jedenfall schon mal


    @Unique(@DbColumn( "Notes" : "NoCache" ; Ambiguity2test; byCompy ; 1 ))


    bossi

  • Beide müssen unter Anführungszeichen gesetzt sein, sonst versucht der auf Felder mit diesem Namen zuzugreifen, also:


    @Unique(@DbColumn( "Notes" : "NoCache" ; "Ambiguity2test"; "byCompy" ; 1 ))


    Wobei ich persönlich folgende erweiterte Version vorschlagen würde (zwecks Error Handling):


    _RES :=
    (@DbColumn( "Notes" : "NoCache" ; "Ambiguity2test"; "byCompy" ; 1 );
    @If(@IsError(_RES);"Keine Werte gefunden";@Trim(@Unique(_RES)))