Autor Thema: Script-(Anfänger)-Fehler  (Gelesen 2341 mal)

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Script-(Anfänger)-Fehler
« 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
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

klaussal

  • Gast
Re: Script-(Anfänger)-Fehler
« Antwort #1 am: 21.10.04 - 10:21:49 »
1. Wann kommt der Fehler ?
2. dim db.....  dim collection... etc fehlen

klaus

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script-(Anfänger)-Fehler
« Antwort #2 am: 21.10.04 - 10:56:03 »
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

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Script-(Anfänger)-Fehler
« Antwort #3 am: 21.10.04 - 10:59:15 »
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

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: Script-(Anfänger)-Fehler
« Antwort #4 am: 21.10.04 - 11:00:28 »
Sorry Schreibfehler,

Call doc.replaceitemvalue(FieldName,NewValue)

Sascha

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Script-(Anfänger)-Fehler
« Antwort #5 am: 21.10.04 - 11:16:31 »
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
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script-(Anfänger)-Fehler
« Antwort #6 am: 21.10.04 - 11:21:17 »
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

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Script-(Anfänger)-Fehler
« Antwort #7 am: 21.10.04 - 12:14:01 »
OK!

Dim doc as NotesDocument

muss es wohl richtig heißen.
LN meckerte nicht mal, aber es sollte schon sauber sein.

Merci

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script-(Anfänger)-Fehler
« Antwort #8 am: 21.10.04 - 12:20:53 »
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

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Script-(Anfänger)-Fehler
« Antwort #9 am: 21.10.04 - 13:45:15 »
Hallo Bernhard,

was Du nicht wissen kontest: diese Deklarationen liegen bereits im Bereich Declarations des Agenten.

Danke und Gruß

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz