@Unique Befehl wie anwenden?

  • Hab diese Formel und muss da den @Unique Befehl anwenden auf das Ergebniss aber wie?
    Wenn ich die ganze Formal unter diesen Befehl setze gibt er mir gar nichts zurück, also 0 und wenn er normal ausgeführt wird 514.
    Wie kann ich da Unique anwenden oder gibts unter Lotus Scripts einen ähnlichen Befehl?


    search2$="@lowercase(Form) = ""local"" & @lowercase(Type) = ""connection"" & @lowercase(Tasks) = ""replication"" &@lowercase(Source) = """ &Trim(Lcase(server)) &""""


    Set col3 = db3.Search(search2$,datetime,0)


    mfg Bahula

  • Was soll dort dein ein Unique Aufruf überhaupt erreichen ?


    Doppelte Ergebnisse rausfiltern wird auf die Art und weise nicht gehen, da zwei Dokumente ja nie gleich sind und bei der Bedingung gibt das meines Erachtens keinen Sinn.


    Gib uns doch einmal ein paar zusätzliche Infos

    • Offizieller Beitrag

    ein @Unique funktioniert im Script mit ArrayUnique.


    Aber deine Col3 besteht aus Dokumenten, dork kann kein ArrayUnique angewendet werden!.


    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

  • Mit col3 bekommst Du ja eine Notesdocumentcollection zurueck. Da musst Du Dich erstmal entscheiden welche Werte Du aus diesen Dokumenten vergleichen willst. Denn die Dokumente selber werden zu 100% nicht in allen Punkten identisch sein.

    • Offizieller Beitrag

    d.h. die Dokumente interessieren dich nicht?


    dann lese die Werte aus den Dokumenten in ein Array ein und mach einen ArrayUnique und wenn gewünscht noch einen FullTrim (entfernt leere Einträge) über das Array.



    Gruß
    Dirk

  • kannst mir vielleicht ein kleines Beispiel geben?


    Ich möchte aus einer Ansicht in einer Spalte suchen und wenn ein Wert vorkommt den Wert einer andern Spalte in dieser Zeile in ein Array schreiben.
    Also es soll die ganze Datenbank durchsucht werden und eben nur die Zeilen gesammelt werden die diesen Wert beinhalten.

    • Offizieller Beitrag

    in etwa so


    Gruß
    Dirk

  • Set db2view = db2.GetView("($NETOnline)")
    Set betrdoc =db2view.GetFirstDocument
    Set db3 = New NotesDatabase("**************","********")
    Set db3view = db3.GetView("(***********)")
    Set doc3 =db3view.GetFirstDocument

    Dim array3(0 To 800) As String
    w = 0

    Do Until doc3 Is Nothing
    array3(w) = doc3.source(0)
    Set doc3 = db3view.GetNextDocument(doc3)
    w = w+1
    Loop

    array3_kompl = Fulltrim(ArrayUnique(array3))


    Fehler ist jetzt bei der Zeile aray3_kompl: 131 Illegal parenthesized reference: ARRAYUNIQUE

  • So bin jetzt drauf gekommen das arrayunique ein 6er Befehl ist und im 5er Designer noch nicht verwendet werden kann.


    Gibts im 5er auch einen ähnlichen Befehl der das gleiche macht?


    mfg Bahula

    • Offizieller Beitrag

    :hammer: habe das R5.x-Forum übersehen - SORRY :wuet:


    In der Designer-Hilfe steht nix davon drin, dass es neu in 6 ist!


    Dann musst du das Array erst sortieren (z.B. mit Q-Sort) und dann doppelte entfernen.


    Bin mir auch nicht sicher, ob es den FullTrim schon in 5 gab!


    Gruß
    Dirk

    • Offizieller Beitrag

    taurec
    ja aber im Dokument zu ArrayUnique steht es nicht. Bei (fast) allen anderen steht es direkt dort.


    Zitat

    nicht schlagen aber wie nehm ich bei LotusScript den Q-sort her?

    selber bauen! oder lieb bitte sagen :)


  • Oder etwas uebersichtlicher:
    Einfach die Funktion aufrufen mit


    Unique = atUnique(Fulltrim(array3),True)

    • Offizieller Beitrag
    Zitat

    tjo dann werd ich mir das mal selber schreiben


    :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-? :-?


    den Q-Sort (QuickSort) habe ich doch fertig angehangen.


    gruß
    Dirk