Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wiesel am 23.06.08 - 15:32:56
-
Hallo!
Ich brauche mal wieder Euer geballtes Wissen.
Ich habe Dokumente, die von der EntwurfDB über eine LeserDB in eine ArchivDB wandern.
Dabei bleiben die Dokumente am Anfang in der EntwurfDB bestehen, auch wenn sie in die LeserDB und dann in die ArchivDB kopiert werden.
Ich habe ein Feld "Unique" beim Anlegen berechnet.
Nun sollen die Dokumente in der ArchivDB immer überprüft werden, ob es in der EntwurfDB Dokumente mit der gleichen Unique gibt und diese dann dort löschen.
Ich habe nun ein Problem damit, Dokumente aus einer anderen Datenbank zu löschen. Wie geht das?
Ich habe bisher folgenden Script:
Sub Initialize
Dim S As New NotesSession
Dim DB As NotesDatabase
Dim Doc As NotesDocument
Dim View As NotesView
Dim strEntwurfDB As String
Dim strEntwurfPfad As String
Dim responsedoc As NotesDocument
Dim collection As NotesDocumentCollection
Dim strUnique As String
Set DB = S.CurrentDatabase
Set Doc = DB.GetProfileDocument("(DBProfil)")
'Profil Dokument auslesen
strEntwurfDB = Doc.dbServer(0)
strEntwurfPfad = Doc.dbPfad(0)
Dim VEntwuerfe As New NotesDatabase(strEntwurfDB,strEntwurfPfad)
Set View = DB.GetView("(LoeschungEntwuerfe)")
Set Doc = View.GetFirstDocument
'Dokumente kopieren
Do Until Doc Is Nothing
strUnique = Doc.Unique(0)
'Lösch jetzt alle dazugehörigen Dokumente und Antworten in der Datenbank VEntwuerfe
Doc.txtAktion = "gelöscht"
Call doc.Save(True, False)
Set Doc = View.GetNextDocument(Doc)
Loop
Call view.Refresh
'Msgbox "Die Dokumente wurden übertragen"
End Sub
Wie frage ich jetzt die Dokumente in einer zweiten Datenbank ab und lösche diese, falls ich die Übereinstimmung mit der Unique finde?
Ich hoffe, es ist verständlich, was ich da mache...sonst: Fragen.
Vielen Dank im Voraus,
Wiesel
-
Designer-Hilfe, "notesDocument.Remove()" und "notesView.GetDocumentByKey()".
-
Das Remove ist schon mal gut. Kannte ich nicht. Aber mein Problem besteht mehr darin, auf eine andere Datenbank zuzugreifen und dort bestimmte Dokumente zu finden und zu löschen...
-
Servus,
grob auf die schnelle gesagt, in beiden Datenbanken bzw. Dokumentensammlungen müssen
die gleichen Schlüsselkriterien vorkommen, ich vermute das ist Dein Feld "Unique"
- In der Entwürfe-DB eine View auf die in Frage kommenden Dokumente machen, erst Spalte
sortiert nach "Unique" (Schlüsselkriterium)
- Die Entwürfe-DB öffnen, das machst ja schon "VEntwuerfe"
- genannte Ansicht nehmen und mit "GetDocumentByKey" (siehe Martin) versuchen auf das
Dokument zu positionieren
- Wenn gefunden, dann löschen, wenn nichts gefunden, dann das evtl. nächste Dokument
nehmen
Grüße Tim