Domino 9 und frühere Versionen > Entwicklung

Löschen von Antwortdokumenten

(1/2) > >>

Ulf:
???Hallo,

ich habe folgende Frage. Ich erstellen eine Inventur Datenbank für PC's. Als Hauptdokument erstelle ich das Dokument für die Hardware und als Antwortdokument wird das Dokument für die Software erstellt.
Wenn ich jetzt das Hardwaredokument lösche, dann bleiben die entsprechenden Anwortdokumente auch erhalten.
Wie kann ich sicherstellen, dass ich mit dem Haupotdukument gleichfalls die zugehörigen Antwortdokumente lösche.

Wer kann mir dort weiterhelfen? Vielen Dank!

Ulf

DaJamz:
Hallo Ulf,

du musst in der DB im Datenbank-Script bei Postdocumentdelete eine Abfrage reinbauen und prüfen ob eine Response vorhanden ist, wenn ja wird diese mitgelöscht.

Solong
DaJamz

Axel:
Hi,

hier eine Routine, die ich schon seit einiger Zeit einsetze.

Sub DeleteChilds(doc As NotesDocument)
     
     Dim responses As NotesDocumentCollection
     Dim dummy As NotesDocument
     Dim tmpdoc As NotesDocument
     
     Set responses = doc.Responses
     Set dummy = responses.GetFirstDocument
     While Not (dummy Is Nothing)
           Set tmpdoc = responses.GetNextDocument(dummy)          
           Call dummy.Remove(True)
           Set dummy = tmpdoc
     Wend
           
End Sub

Rufe die Routine auf bevor das Hauptdokument gelöscht
wird.

z.B.

...
Call DeleteChilds(doc)
Call doc.Remove(True)
...


Axel

Ulf:
??? Hi

danke für die Antworten. Ich glaube mir fehlt jetzt doch noch etwas mehr im Lotus Script. Ich habe bisher nicht mit Scipts gearbeitet. Wir kann ich eigentlich zunächst mal ein Hauptdokument im Backend löschen. Ich werde aus der Notes Hilfe nicht schlau.

Vielen Dank,

Ulf

Axel:
Hi,

füge folgenden Code in einen Aktionsbutton in einer Ansicht ein.

Sub Click

Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim collection As NotesDocumentCollection
Dim i As Integer
 
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments

For i = 1 to collection.Count
 Set doc = collection.GetNthDocument(i)
 Call doc.Remove(True)
Next

End Sub

So kann eine ganz einfache Aktion zum löschen von Dokumenten aussehen. Sie enthält allerdings keine Sicherheutsabfragen für den User usw.

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln