Autor Thema: Feldwerte im BackEnd ändern  (Gelesen 1666 mal)

Offline HJPSoft

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Beati pauperes spirituo
Feldwerte im BackEnd ändern
« am: 13.01.03 - 10:29:43 »
Hallo Forum,

bei dem Auftrag, einen Feldwert innerhalb vieler Dokumente permanent zu ändern erhalte ich den Fehler: Notes Error: Eintrag im Index nicht gefunden(Ansicht)
Der Code im Agent sieht so aus, der hervorgehobene Text löst den Fehler aus: ???

Sub Initialize
   Dim wert As String   
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Set db = s.CurrentDatabase
   
   Dim v As NotesView
   Set v = db.GetView("Einsatz\Sitreps\ISAF")
   Dim doc As NotesDocument
   Set doc = v.GetFirstDocument()
   Do While Not (doc Is Nothing)
      
      Call doc.ReplaceItemValue("DokChar", "Sitreps Termez")
      Call doc.Save(True,True)
      Set doc = v.GetNextDocument(doc)
   Loop
   
   
End Sub

Wer kann helfen, oder liege ich völlig daneben?
Ersatzcode willkommen.

Danke

Hans

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Feldwerte im BackEnd ändern
« Antwort #1 am: 13.01.03 - 10:40:20 »
Kann es sein, daß das geänderte Dokument nach der Aktualisierung aus der Ansicht herausfällt ??

Ansonsten ist der Code OK.

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline HJPSoft

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Beati pauperes spirituo
Re:Feldwerte im BackEnd ändern
« Antwort #2 am: 13.01.03 - 10:59:49 »
Danke Eknori,

in der Tat fällt das Dokument aus dieser Ansicht heraus. Ich nehme an, ich muss mir eine Ansicht erzeugen, aus der geänderte Dokumente nicht herausfallen.


Danke

Hans

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Feldwerte im BackEnd ändern
« Antwort #3 am: 13.01.03 - 11:03:08 »
genau, sonst wuselt es dir den Index durcheinander mit dem bekannten Erfolg.

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

klaussal

  • Gast
Re:Feldwerte im BackEnd ändern
« Antwort #4 am: 13.01.03 - 11:09:57 »
oder anstelle von "getnextdocument" wieder ein "getfirstdocument"

Offline Doc Torte

  • Aktives Mitglied
  • ***
  • Beiträge: 178
  • Geschlecht: Männlich
  • ...promovierter Bäcker... ;-)
    • ...that's me
Re:Feldwerte im BackEnd ändern
« Antwort #5 am: 13.01.03 - 11:13:58 »
MAHLZEIT !

verstehe nicht, warum Du die Docs nicht in eine DocCollection zusammenliest und diese durcharbeitest - geht nicht nur schneller, belastet den Server nicht so(dadurch das Du nicht in die View "reingreifen" mußt) und das Thema Extra-Ansicht hat sich auch erledigt.


wäre nur so ne Idee
Wer nicht ständig besser wird, hört bald auf gut zu sein !
Schritt für Schritt geht's immer vorwärts...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Feldwerte im BackEnd ändern
« Antwort #6 am: 13.01.03 - 12:50:47 »
Hi,

versuchs doch mal so:

Sub Initialize
   Dim wert As String  
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim tmpdoc As NotesDocument

   Set db = s.CurrentDatabase
   
   Dim v As NotesView
   Set v = db.GetView("Einsatz\Sitreps\ISAF")
   Dim doc As NotesDocument
   Set doc = v.GetFirstDocument()
   Do While Not (doc Is Nothing)
      Set tmpdoc = doc
      Call doc.ReplaceItemValue("DokChar", "Sitreps Termez")
      Call doc.Save(True,True)
      Set doc = v.GetNextDocument(tmpdoc)
   Loop
   
Axel

   
End Sub

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline HJPSoft

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Beati pauperes spirituo
Re:Feldwerte im BackEnd ändern
« Antwort #7 am: 13.01.03 - 15:16:00 »
Hallo @All,

Danke für die Unterstützung.
ich habe mich für die Lösung der DocumentCollection entschieden und es funktioniert. Komplilziert ist die Gestaltung des Suchmusters, aber mit etwas Fleiß kommt man zu einer Lösung.
Die Realisierung mittels eines Schattendokuments ist äußerst interessant und schon in meine Repository gewandert.

Noch mal
Vielen Dank

Hans

Offline Doc Torte

  • Aktives Mitglied
  • ***
  • Beiträge: 178
  • Geschlecht: Männlich
  • ...promovierter Bäcker... ;-)
    • ...that's me
Re:Feldwerte im BackEnd ändern
« Antwort #8 am: 13.01.03 - 17:45:13 »
H@llo HJPSoft !


wieso Suchschlüssel ? ich dachte in der View können nur Dokumente stehen, die auch bearbeitet werden sollen, dann wäre der einfachste Weg, an erster Stelle eine Spalte einzurichten, sortiert(der Suche wegen) die für jedes Dokument eine "1" zeigt, somit wäre der Suchschlüssel dann auch eine 1 und Du bekommst ohne großes TamTam alle Docs der Ansicht in die Collection.

aber warum denn einfach, wenn es auch kompliziert geht ?  ;-)
Wer nicht ständig besser wird, hört bald auf gut zu sein !
Schritt für Schritt geht's immer vorwärts...

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Feldwerte im BackEnd ändern
« Antwort #9 am: 14.01.03 - 09:07:18 »
Wenn bei mir ein Doc aus nach der Bearbeitung aus einer Ansicht rausfällt schleif ich die Ansicht von hinten durch.
 
 Set doc = v.GetLastDocument()
  Do While Not (doc Is Nothing)
      Call doc.ReplaceItemValue("DokChar", "Sitreps Termez")
      Call doc.Save(True,True)
      Set doc = v.GetLastDocument()
  Loop

lg
-rar
†090620141300

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz