Farbschema: Hell
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office JSON » troubleshooting » SetValue löst jeUnsupportedValue aus

SetValue löst jeUnsupportedValue aus

SetValue, Add, Insert oder Value = … löst jeUnsupportedValue (vbObjectError + 520) aus, wenn Sie ein Scripting.Dictionary, eine Collection, ein Recordset oder ein anderes Objekt übergeben.

Umgebung

Alle Versionen von WKL Office JSON.

Ursache

Angenommen werden nur Werte, die eine JSON-Form haben: String, die numerischen Typen, Boolean, Date, Null, Empty und Nothing (geschrieben als null), eindimensionale Arrays aus diesen Werten sowie JSON-Knoten oder ein JDoc (Value = … eines Werteknotens nimmt keine Arrays und keine Knoten mit Kindknoten an; diese lösen dort jeInvalidOperation aus, siehe Werte und Grenzen). Fremde Objekte, auch Scripting.Dictionary und Collection, und Arrays mit mehr als einer Dimension haben keine festgelegte JSON-Form.

Lösung

  1. Bauen Sie die Struktur mit den Methoden der Bibliothek auf: AddElement für ein Objekt, AddArray für ein Array, SetValue für jeden Eintrag.
  2. Wandeln Sie ein Dictionary in einer Schleife um:

    Dim target As JElement, key As Variant
    If doc.Root Is Nothing Then Set doc.Root = doc.CreateElement   ' a new JDoc is empty
    Set target = doc.Root
    For Each key In dict.Keys
        target.SetValue CStr(key), dict(key)
    Next
  3. Wandeln Sie ein zweidimensionales Array (zum Beispiel aus GetRows) Zeile für Zeile in Objekte eines Arrays um.
de/wiki/msaccess/json/troubleshooting/unsupported-value.txt · Zuletzt geändert: von Wolfgang van der Stille