Autor Thema: verhindern das Hauptdokumente mit Antwortdokumenten gelöscht werden  (Gelesen 2342 mal)

Offline Lysienne

  • Frischling
  • *
  • Beiträge: 49
  • kann alles - aber nix gscheit
Hallo
ich habe eine einfache Inventardatenbank
der PC ist als Hauptdokument angelegt
die Peripherie (Monitor, Drucker usw.) als Antwortdokument

Wie kann ich verhindern, dass ich das Hauptdokument löschen kann obwohl dieses noch ein Antwortdokument hat.
Am besten mit einer Meldung wie zB: Der PC hat noch Peripherie zugeordnet und kann nicht gelöscht werden.

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Ist doch einfach - vergib eine Inventarnummer und vererb die an die Antwortdokumente

Vor dem Löschen -Stichwort QueryDocumentDelete- Abfrage, wieviele Dokumente es mit der Referenz gibt.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Noch einfacher: wenn es sich wirklich um Antwortdokumente handelt, kannst Du prüfen, ob NotesDocument.Responses.Count = 0 ist, und wenn nicht, dann Continue = False. Achtung: in seltenen Fällen ist NotesDocument.Responses = Nothing, das solltest Du vor dem Count checken.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Lysienne

  • Frischling
  • *
  • Beiträge: 49
  • kann alles - aber nix gscheit
Herzlichen Dank

für eure Vorschläge. Bin zwar nicht der Script Guru. Aber ich denk das krieg ich hin.

Offline Lysienne

  • Frischling
  • *
  • Beiträge: 49
  • kann alles - aber nix gscheit
Danke Tode für den Hinweis auf NotesDocument.Responses.
Hier der Code im Querydocumentdelete.
Falls mal jemand das selbe Problem hat.


Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
   
   
   'Get a handle on the current document
   Dim ns As New NotesSession
   Dim nDocCurrent As NotesDocument
   Dim ndcCollection As NotesDocumentCollection
   Set ndcCollection = Source.Documents
   Set nDocCurrent = ndcCollection.GetFirstDocument
   
   'See if the current document has Any responses associated With it
   'if so do not allow the deletion
   
   Dim ResponseCollection As NotesDocumentCollection
   Set ResponseCollection = nDocCurrent .Responses
   numDocs& = ResponseCollection.Count '# of response documents
   If numDocs& > 0 Then
      MessageBox "Kann nicht gelöscht werden da Peripherie zugeordnet ist!",64,"Löschen abgebrochen"
      Continue = False
   End If
End Sub

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz