Domino 9 und frühere Versionen > ND7: Entwicklung
Beseitigung - ID des Dokumets, das den Fehler verursacht hat
nsm:
Hallo!
Der Agent soll manuell gestartet werden.
nsm:
Hallo!
Wie siehts damit aus?
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dc = db.AllDocuments
Set doc = dc.GetFirstDocument()
While Not(doc Is Nothing)
Call Doc.ReplaceItemValue("fld_bearbeitet","JA")
Call Doc.Save(True, False, False)
Set doc = dc.GetNextDocument(doc)
Wend
End Sub
Wenn ich das richtig verstehe, dann werden hier einfach alle Docs mit einem Feld versehen und dann gespeichert.
oder?
mest
Peter Klett:
Wenn die Ursache für den Fehler ist, dass das Feld "fld_bearbeitet" nicht "JA" enthält, ist das schon der richtige Ansatz.
Allerdings speicherst Du alle Dokumente erneut, unabhängig davon, ob das Feld korrekt gesetzt war oder nicht. Das solltest Du nicht tun.
Daher würde ich anstelle von Set dc = db.AllDocuments
Set dc = db.Search (|fldbearbeitet != "JA"|, Nothing, 0)
verwenden.
Die in rot dargestellte Selektionsformel würde ich dann noch um weitere Eigenschaften (wie Maskennamen usw.) erweitern, da es sicherlich andere Dokumente ohne dieses Feld in der DB geben darf (Kalendereinträge u.a.).
nsm:
Hallo!
@Peter Klett
Ok das habe ich verstanden.
Da komt schon die nächste Frage.
Wie kann ich die selectierten Doc´s vorm speichern neu berechnen lassen?
Ich will nur sichergehen, daß auch alle Felder aktuell sind.
Danke
mest
Peter Klett:
Du kannst ein NotesDocument.ComputeWithForm benutzen, das muss aber nicht alles erledigen. Scripte in PostOpen, Querysave usw. werden z.B. nicht ausgeführt.
Wenn es nur ein paar Dokumente sind, kannst Du die auch mit workspace.EditDocument, uidoc.Save und uidoc.Close abarbeiten, aber wenn das zuviele sind, fliegt Dir dabei gerne der Client um die Ohren.
Du solltest auf jeden Fall an der Ursache arbeiten. Hinterher die Scherben wegräumen ist auf Dauer der falsche Ansatz.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln