Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 21.10.04 - 10:13:11
-
Hallo Forum,
was ist hier falsch (Fehlermeldung: Illegal Property Use)?
Dim session As New NotesSession
Set db = session.Currentdatabase
Dim FieldName As String
Dim NewValue As String
Set collection = db.UnprocessedDocuments 'Alle markierten Doks in die Collection
FieldName = Inputbox$("Feldname:")
NewValue = Inputbox$("Neuer Wert:")
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Call doc.fieldsettext(FieldName,NewValue)
Call doc.Save(True, False)
Set doc = collection.GetNextDocument(doc)
Wend
Alexis
-
1. Wann kommt der Fehler ?
2. dim db..... dim collection... etc fehlen
klaus
-
1. Immer die Zeile angeben, in der der Fehler auftritt.
2. Bevor eine Zeile gecoded wird, Option Declare eingeben
3. Alle verwendeten Variablen deklarieren
Du instanziierst ein NotesDocument, willst dann aber mit FieldSetText eine Methode von NotesUIDocument verwenden. Das geht natürlich nicht.
HTH,
Bernhard
-
Hallo Alexis,
diese Zeile ist falsch.
Call doc.fieldsettext(FieldName,NewValue)
Schaue dir einmal den Unterscheid zwischen Backend und Frontend Klassen an.
Du benutzt eine Frontend Methode auf ein Backend Objekt (doc).
Statt dessen müsste die Zeile so lauten:
Call doc.repalceitemvalue(FieldName,NewValue)
Gruß Sascha
-
Sorry Schreibfehler,
Call doc.replaceitemvalue(FieldName,NewValue)
Sascha
-
Danke für Eure Hinweise.
So geht's:
Dim session As New NotesSession
Set db = session.Currentdatabase
Dim uidoc As NotesUIDocument
Dim FieldName As String
Dim NewValue As String
Set collection = db.UnprocessedDocuments 'Alle markierten Doks in die Collection
FieldName = Inputbox$("Feldname:")
NewValue = Inputbox$("Neuer Wert:")
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
doc.ReplaceItemValue FieldName, NewValue
Call doc.Save(True, False)
Set doc = collection.GetNextDocument(doc)
Wend
Alexis
-
Jetzt hast Du uidoc deklarierst, aber verwendest es nicht. Statt dessen verwendest Du doc - deklarierst es aber nicht.
Demzufolge fehlt bei Dir immer noch Option Declare.
Mach das von Anfang an ganz sauber - das erspart Dir viel Ärger.
Bernhard
-
OK!
Dim doc as NotesDocument
muss es wohl richtig heißen.
LN meckerte nicht mal, aber es sollte schon sauber sein.
Merci
Alexis
-
Dann hast Du immer noch kein Option Declare gesetzt.
Weiterhin nicht deklariert sind:
session, db, collection
Sowas kann bei umfangreicheren Code schnell in die Hose gehen.
HTH,
Bernhard
-
Hallo Bernhard,
was Du nicht wissen kontest: diese Deklarationen liegen bereits im Bereich Declarations des Agenten.
Danke und Gruß
Alexis