Domino 9 und frühere Versionen > ND6: Entwicklung

Dokument suchen und Daten ändern

<< < (8/26) > >>

Driri:
Nein, falsch. ReplaceItemValue legt das Item einfach an, wenn es denn nicht existiert. Ich denke immer noch, daß doc nicht sauber ist.


Prüf doch bitte einfach ab, ob das Dokument existiert. Andre hat ja schon geschrieben, wie es geht. Du kannst dann ja z.B. einfach im Else-Zweig testweise per Print etwas ausgeben lassen. Wenn Du dann in der Statuszeile das Print-Ergebnis bekommst, wurde kein Dokument gefunden.

Boris hat Dir auch noch nen Tipp gegeben. Prüf mal nach, ob da wirklich der korrekte Wert enthalten ist. Zur Not schreib Dir den Wert aus FieldArray(0) in eine temporäte Variable und laß Dir diese auch einfach ausgeben. Idealerweise mit nem Sonderzeichen davor und dahinter, dann sieht man auch direkt, ob da ggf. Leerzeichen oder so drin sind.

Also so was hier :

Dim tmp As String
...
tmp = CStr(FieldArray(0))
Print "|" & tmp & "|"
...


Edit :

Ist das View-Objekt eigentlich korrekt ? Also, siehst Du im Debugger, daß das View-Objekt auch gefüllt ist oder bleibt es leer ?

DerAndre:
Aus der Hilfe:

ReplaceItemValue

Replaces all items of the specified name with one new item, which is assigned the specified value. If the document does not contain an item with the specified name, the method creates a new item and adds it to the document.

Das ist doch eindeutig, oder?

Axel:

--- Zitat von: lotus blue am 05.06.08 - 15:04:59 ---Das heißt er findet das Feld nicht oder so ähnlich.

--- Ende Zitat ---

Er findet das Dokument nicht.

Daher nochmal meine Frage. Was sagt der Debugger zur Variable doc ???

Du musst eine vernüftige Fehlerbehandlung einbauen. Sonst fällst du immer wieder auf die Nase. Entsprechende Infos, wie man so was macht, wurden dir hier bereits mehrfach gegeben.


Axel

lotus blue:
Sodala, wieder einen Schritt weiter:
Hab den Code umgebaut:
.................
'Zeile für Zeile einlesen
      Line Input #1,  InputStr$
      FieldArray = Split(InputStr$,delimiter, -1, 0)
      If Not Isempty(FieldArray) Then
         Set doc = view.GetDocumentByKey(FieldArray(0))
         If Not doc Is Nothing Then
            Call doc.ReplaceItemValue("Status", "erledigt")
            Call doc.Save(True,True)
         Else
            Messagebox"Test Nachrichtenbox",0,"Test"
         End If
      End If

Tja und es erscheint in der Tat die Box mit Nachrichtenbox.

Grazie für eure Tips.  :love: Jetzt hab ich das auch schon mal

lotus blue:

--- Zitat von: Axel am 05.06.08 - 15:09:11 ---Daher nochmal meine Frage. Was sagt der Debugger zur Variable doc ???
Axel

--- Ende Zitat ---

Wie sollte es anders sein, die Zeile bleibt leer :(

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln