GetDocumetnbyKey Funktioniert nicht

  • Hallo,


    ich versuche ein Document aus einem View zu öffen um darin die Felder auszulesen. Wenn ich mir ein View Object anlege und den entsprechenden view lade kann ich mit set doc = view.GetDocumentByKey(stringArray) ein Document Object erzugen. Leider Funktioniert das nicht ganz so. Denn das stringArray wird nicht wie beschireben ausgewertet. Trage ich Anstelle des stringArray einen festen String ein funktioniert es und ich bekomme das Dokument. Nun kann ich aber nicht auf das Document zugriefen. Möchte ich den Wert eines gefüllten Feldes auslesen bekomme ich einen Leeren Eintrag.
    Weiß jemand hier weiter ??

  • Dann wird deine Ansicht wahrscheinlich nur eine sortierte Spalte haben.
    Ein Array greift für jedes Element auf eine eigene sortierte Spalte zu, d.h. String Array mit 5 Elementen -> View mit 5 sortierten Spalten

  • na, irgendwie ist das aber kein array.
    ein array wäre ja nur sowas wie
    dim myStringArray(2) as string
    myStringArray(0)=String1
    myStringArray(1)=String2
    myStringArray(2)=String3


    'und das dann dem getdocumentbykey übergeben ...


    oder ?


    vlg
    - Florian

    - Florian (Vogler)
    ICODEX Software AG :: the developers of the one state-of-the-art Lotus Notes client management solution INTEGRATE!People......

  • Oh danke,


    macht Sinn, leider bekomme ich hier einen Type Mismatch.


    Der String bzw. die Strings hole ich ir mittel Split aus einem Variant Array und entferne mit Trim$ die Leerzeichen darin, aber es kommt ein Type Mismatch hier der Original Code:


    Dim participantArray As Variant
    Dim participantArrayString (1 To 3) As String


    articipantArray = Split(uidoc.FieldGetText"selectParticipant" ),";",-1)


    participantArrayString(0) = Trim$(participantArray(0))
    participantArrayString(1) = Trim$(participantArray(2))
    participantArrayString(2) = Trim$(participantArray(1))


    Trim$ sollte doch einen String zurückliefern oder?

  • Sorry war falsch aus dem Quellcode kopiert,
    die Strings werden natürlich von 1..3 gesetzt.
    Wenn ich die vorher ausgebe ist auch alles OK (per Messagebox)
    Hier nochmals ein Stück Code:


    Set doc = view.GetDocumentByKey(participantArrayString,True)

  • Sorry war falsch aus dem Quellcode kopiert,
    die Strings werden natürlich von 1..3 gesetzt.
    Wenn ich die vorher ausgebe ist auch alles OK (per Messagebox)
    Hier nochmals ein Stück Code:


    Set doc = view.GetDocumentByKey(participantArrayString,True)

  • Es läuft ! Es war eine Messagebox dazwischen die den Type Mismatch verursacht hat


    War ein dummer Fehler von mir.


    Leider ist das doc Object leer, oder zumindest kann ich auf keine Felder des Dokuments zugreifen aber das liegt wohl an was anderem.

  • taurec, mein reply war auf NotesGott bezogen - das forum stellt ja leider die reply nicht dort dar worauf sie erstellt wurde sondern nach uhrzeit ;)


    NotesGott: welchen fehler bekommst du denn wenn du auf die "leeren" felder zugreifst ? und wenn du keinen fehler bekommst sondern nur 'leer', wie greifst du auf die felder zu ?


    vlg flo

    - Florian (Vogler)
    ICODEX Software AG :: the developers of the one state-of-the-art Lotus Notes client management solution INTEGRATE!People......

  • wenn SentTo kein String ist, dann verlangt GetItemValue einen String, also würde ich folgendes empfehlen:


    ================


    Dim strMailadresse as String
    strMailadresse = doc.GetItemValue("SentTo")


    ================


    zudem: müsste es ggf. "SendTo" heissen und nicht "SentTo" ?


    vlg
    - Florian

    - Florian (Vogler)
    ICODEX Software AG :: the developers of the one state-of-the-art Lotus Notes client management solution INTEGRATE!People......