Autor Thema: Dokumente mit bestimmten Feldinhalt löschen  (Gelesen 3597 mal)

Offline Azubilein

  • Frischling
  • *
  • Beiträge: 4
Dokumente mit bestimmten Feldinhalt löschen
« am: 17.03.15 - 15:36:15 »
Hallo liebe Notes-Nutzer,

und zwar möchte Ich gerne Beim löschen eines Dokuments, noch andere Dokumente mit einen Bestimmten Feldwert Wert löschen.

Beispiel.:
Dokument was gelöst wird, in Diesen ist ein Feld mit Kundennummer 12345, nun sollen Alle Dokumente gelöscht werden die bei Kundennummer den Feld Wert "12345" haben.

Habe schon einige Probiert komme aber von selber nicht auf die Lösung, wäre schön wenn mir jemand helfen könnte.

Mit freundlichen Grüßen,

Azubilein

PS.: Sorry für die Rechtschreibung habe LRS ::)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente mit bestimmten Feldinhalt löschen
« Antwort #1 am: 17.03.15 - 15:41:42 »
Kannst Du LotusScript? Darüber ginge es am schnellsten.

Bernhard

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Dokumente mit bestimmten Feldinhalt löschen
« Antwort #2 am: 17.03.15 - 20:53:05 »
Das Löschen von abhängigen Dokumenten ist leider eine nichttriviales Problem, insbesondere wenn Replizierung und Leserfelder zum Einsatz kommen.

Leserfelder: Du siehst möglicherweise nicht alle Dokumente, welche du löschen möchtest
Replizierung: Antwortdokumente können möglicherweise nach der Löschung rein repliziert werden.

Wenn das geklärt ist, schau dir mal die LS-Methoden NotesDatabase.search / NotesDocumentCollection.removeAll an.
(Mit Formelsprache geht es nicht, zumindest wüsste ich jetzt nicht wie)

VG Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Azubilein

  • Frischling
  • *
  • Beiträge: 4
Re: Dokumente mit bestimmten Feldinhalt löschen
« Antwort #3 am: 18.03.15 - 08:28:50 »
Kannst Du LotusScript? Darüber ginge es am schnellsten.

Bernhard

Naja LotusScript ist nicht so meins deswegen hab ich mich wahrscheinlich auch hier aufgehängt.

Andere Frage gibt es ein gutes Buch zu Lotus Script mit den man sich das selber bei bringen kann oder irgendein Youtube-kanal?

Hatte schon mal danach gesucht aber nicht viel gefunden.

Das Löschen von abhängigen Dokumenten ist leider eine nichttriviales Problem, insbesondere wenn Replizierung und Leserfelder zum Einsatz kommen.

Leserfelder: Du siehst möglicherweise nicht alle Dokumente, welche du löschen möchtest
Replizierung: Antwortdokumente können möglicherweise nach der Löschung rein repliziert werden.

VG Roland

Lesefelder und Replizierungen gibt es keine und sind keine geplant für die Datenbank.


Wenn das geklärt ist, schau dir mal die LS-Methoden NotesDatabase.search / NotesDocumentCollection.removeAll an.
(Mit Formelsprache geht es nicht, zumindest wüsste ich jetzt nicht wie)

VG Roland

Könnte mir das jemand anhand von einen Beispiel erklären wie ich das damit realisieren kann?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokumente mit bestimmten Feldinhalt löschen
« Antwort #4 am: 18.03.15 - 08:47:12 »
Die Noteshilfe ist ein sehr gutes Nachschlagewerk für LotusScript mit vielen Beispielen, m.E. braucht man nicht mehr dazu.

Hier ein Beispiel für ein Script, das alle Dokumente löschen soll, deren Feld Kundennummer den gleichen Wert wie das markierte Dokument hat.

Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim col As NotesDocumentCollection
Set col = db.UnprocessedDocuments
If col.Count <> 1 Then
   Msgbox "Bitte nur ein Dokument markieren", 16, "Fehler"
   Exit Sub
End If
Dim doc As NotesDocument
Set doc = col.GetFirstDocument
Dim loeschcol As NotesDocumentCollection
Set loeschcol = db.Search (|Kundennummer = "| & doc.Kundennummer (0) & |"|, Nothing, 0)
Call loeschcol.RemoveAll (True)


Das ist nur so runtergeschrieben und kann natürlich Tippfehler enthalten. Anhand der verwendeten Objekte kannst Du ja in der Hilfe nachlesen, was diese eigentlich machen. Das Script kannst Du z.B. in eine Schaltfläche in eine Ansicht schreiben, dort in das
Sub Click(Source As Button).

Noch ein Hinweis: Soll diese Aktion für den Endanwender bestimmt sein? Du willst bestimmt nicht, dass die Endanwender Löschrechte in der Datenbank haben, oder?

Offline Michael Kl

  • Frischling
  • *
  • Beiträge: 38
Re: Dokumente mit bestimmten Feldinhalt löschen
« Antwort #5 am: 28.10.15 - 08:35:32 »

Set loeschcol = db.Search (|Kundennummer = "| & doc.Kundennummer (0) & |"|, Nothing, 0)


So funktionierte es bei mir:
Set loeschcol = db.Search (|Kundennummer = | & doc.Kundennummer (0) & ||, Nothing, 0)

Vielen Dank!!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz