Autor Thema: Löschung von Dokumenten in anderer DB  (Gelesen 1252 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Löschung von Dokumenten in anderer DB
« 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

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Löschung von Dokumenten in anderer DB
« Antwort #1 am: 23.06.08 - 15:38:29 »
Designer-Hilfe, "notesDocument.Remove()" und "notesView.GetDocumentByKey()".
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Löschung von Dokumenten in anderer DB
« Antwort #2 am: 23.06.08 - 16:09:36 »
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...

Cube

  • Gast
Re: Löschung von Dokumenten in anderer DB
« Antwort #3 am: 23.06.08 - 16:19:26 »


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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz