getitemvalue Problem

  • Hallo


    Ich habe ein Problem mit der getitemvalue Methode, wenn mehrere Werte in einem feld stehen zieht er sich immer nur einen wert(den ersten). Ich benötige aber alle werte, die in diesem Feld drin stehen!


    ich verwende im Moment diese syntax in vba:


    strbu = doc.GetItemValue("buunit")(0)


    Hat jemand ne Idee wie ich das problem lösen könnte?


    Danke im voraus


    döhli

  • ....das geht dann mit


    strbu = doc.GetItemValue("buunit")


    denn mit der (0) fragst Du ja quasi nur den ersten wert des Feldes ab.


    Edit: Als Rückgabewert erhältst Du dann eine Wertliste

    [size=x-small]
    Computer sind da um zu rechnen!
    Nicht um Ausreden wie: "Ich kann nicht durch Null teilen!", auf den Bildschirm zu schreiben.
    [/size]

  • ging das schnell :)


    das habe ich auch schon ausprobiert, aber dann sagt er mir "Typen unverträglich"


    hier mal ein Auszug aus dem code, also der wert wird auf der variablen gespeichert und soll dann später in eine tabelle in access gespeichert werden.


    While Not (doc Is Nothing)
    i = i + 1

    strvname = doc.GetItemValue("FirstName")(0) & " " & doc.GetItemValue("LastName")(0)
    strid = doc.GetItemValue("ShortName")(0)
    strbu = doc.GetItemValue("buunit")(0)
    strsub = doc.GetItemValue("BGAlias")(0)
    strrole = doc.GetItemValue("UserType_Value")(0)
    strcompany = doc.GetItemValue("CompanyName")(0)
    strdepartment = doc.GetItemValue("Department")(0)
    strsuboffice = doc.GetItemValue("Location")(0)
    strland = doc.GetItemValue("country")(0)


    sql = "SELECT * FROM tbl_teilnehmerverzeichnis_world WHERE Name= '" & strvname & "'" & _
    " AND BU = '" & strbu & "'" & _
    " AND CWID = '" & strid & "'" & _
    " AND Subsidiary = '" & strsub & "'" & _
    " AND Rolle = '" & strrole & "'" & _
    " AND Company = '" & strcompany & "'" & _
    " AND Department = '" & strdepartment & "'" & _
    " AND Office = '" & strsuboffice & "'" & _
    " AND Land = '" & strland & "'"



    Set rs = Inst.OpenRecordset(sql)
    If rs.RecordCount > 0 Then
    s = s + 1


    rs.Edit
    rs.Update
    Else 'nocht nicht vorhanden -> neu anlegen
    rs.AddNew

    rs!name = doc.GetItemValue("FirstName")(0) & " " & doc.GetItemValue("LastName")(0)
    rs!CWID = doc.GetItemValue("ShortName")(0)
    rs!BU = doc.GetItemValue("buunit")(0)
    rs!Subsidiary = doc.GetItemValue("BGAlias")(0)
    rs!Rolle = doc.GetItemValue("UserType_Value")(0)
    rs!company = doc.GetItemValue("CompanyName")(0)
    rs!Department = doc.GetItemValue("department")(0)
    rs!Office = doc.GetItemValue("Location")(0)
    rs!land = doc.GetItemValue("Country")(0)

  • ja richtig, aber hab verständnisprobleme wie ich den array auslese, weil im Prinzip speicher ich die Mehrfachwerte doch einfach auf ne variabe ab. Ich verstehe gerade nicht wie das machen müsste!