LotusScript StringHandling beliebige Zeichenfolge als Platzhalter

  • Und noch ein Hallo aus Oberfranken,


    Wer von Euch kann mir helfen?,


    ich habe in einer Lotus Notes Datenbank Ansicht eine Spalte erstellt. In dieser Spalte wird beim Datenimport automatisch ein eindeutiger Suchschlüsselwert aus 4 Informationen erzeugt, die sich zum grössten Teil aus Spaltenwerten der selbigen zusammensetzen. Ausserdem ist diese Spalte als zuerstsortiert deklariert.


    Ich möchte in dieser Ansicht, spez. in dieser Suchschlüsselwertspalte, mit der LotusScript Methode GetAllDocumentsByKey suchen.


    Und zwar einmal nach den letzten drei Informationen des beim Datenimport gebildeten Suchschlüsselwertes, und zum Anderen nach der ersten und den letzten beiden Informationen. Dafür benötige ich, so glaube ich, Jokerzeichen, die als Platzhalter für eine beliebige Zeichenkette stehen.


    Wer hat dazu eine Idee, wie ich praktisch den übergebenen Suchwert, um eine beliebige Zeichenkette erweitern kann?


    Viele Antworten würden mich sehr freuen,
    Schönen Gruss, Martin aus Oberfranken:laola:

  • hi,


    in GetAllDocumentsByKey gibt es noch einen Parameter "exactmatch" oder so ähnlich. Ich weiß jetzt aus dem Stegreif allerdings nicht, ob er immer vom Wortanfang aus sucht. Mit der Suche nach "Mei" findet er normalerweise auch "Meier".

    Für jedes Problem gibt es eine einfache Lösung, die es noch schlimmer macht.

  • Hallo,


    also ganz habe ich das auch noch nicht verstanden, aber kannst Du denn nicht die Spalte der Ansicht entsprechend anpassen?


    Etwa so:


    _kat1 := @Right(key; 3);
    _kat2 := @Left(key; 1) + @Right(key; 2);
    _kat1 : _kat2


    Dann noch 'Show multiple values as separate entries' aktivieren.


    Wenn ich das nicht komplett falsch verstanden habe, könnte es doch so ähnlich funktionieren.


    Viele Grüße
    ghost

  • Hallo, hier Antenne Oberfranken,


    Ich möchte nocheinmal verdeutlichen, was ich fragte:
    Ansicht mit zuerstssortierter Spalte deren Suchschlüsselwert 4 Informationen in folgender Form beinhaltet:
    "Info1,Info2,Info3,Info4"


    Auf diese Ansicht möchte ich 2 Suchen loslassen:
    1.Suche: "Info2,Info3,Info4"


    2.Suche:"Info1,Info3,Info4"


    Weil die Methode GetAllDocumentsByKey meines Wissens nur vom Wortanfang sucht, muss ich bei der 1.Suche eine beliebige Zeichenkette am Anfang, bei der 2.Suche eine beliebige Zeichenkette zwischen Info1 und Info3 hinzufügen.


    Also eine wirklich verzwikte Sache!
    Bitte um Hilfe, vielleicht hat doch jemand eine Idee?
    Gruss Martin

  • also:


    ich würde 2 ansichten vorschlagen. einen platzhalter bzw. wildcard gibt es so viel ich weis für diesen fall nicht.


    anicht 1
    spalte 1: info 2
    spalte 2: info 3
    spalte 3: info 4


    anicht 2
    spalte 1: info 1
    spalte 2: info 3
    spalte 3: info 4


    dim session as new notessession
    dim db as notesdatabase
    dim view as notesview
    dim doc as notesdocument


    dim key(2) as string


    set db = session.currentdatabase
    set view = db.getview("name der suchansicht")


    key(0) = "wert2" bzw. "wert1" 'je nach verwendeter suchansicht
    key(1) = "wert3"
    key(2) = "wert4"


    set doc = view.GetDocumentbyKey(key, True) ' true für exactmatch


    if not doc is nothing then
    ...
    end if


    horido, der wald ist grün!

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Vielen Dank aweinrei,


    meine Gedanken sind auch schon in Richtung Trick mit Redundanz(2Ansichten) gegangen. Vielleicht wäre das mit den Wildcards ein Gedankenanstoss an die Entwickler von Lotus.


    Übrigens auf die Fragen in Deinem Anhang kann ich Dir trotz kurzer Nachfrage in meiner Familie auch keine Antwort geben.


    Also, bis die Tage, Martin

  • Hallo, na is doch ganz einfach;)


    der Mann mit dem superleim ist der Penner Konrad
    und Dr. Snuggels nannte sein Schirm immer Schirmchen


    Aber keine schlechten Fragen ;)


    Stephan


    Un dich frag nur: Warum?