Domino 9 und frühere Versionen > ND6: Entwicklung

Vor dem Speichern Ansicht nach gleichen Daten durchsuchen

<< < (2/2)

cpo:
hi Raimund,

hmmm, würde ich sowieso ganz anders machen...
Ich würde mir auf dem document ein berechnetes Feld mit den entscheidenden Infos machen.
Dann eine Ansicht, in der die dokumente nach diesem Feld kategorisiert sind.
Im QuerySave muss dann geprüft werden, ob es ein dokument mit den Schlüsselinfos schon gibt.
Ungefähr so:
Dim session As New notessession, worspace as New notesuiworkspace
Dim db as notesdatabase, view as notesview, doc as notesdocument, uidoc as notesuidocument
Dim Strkey as String
.... zuweisen
Strkey = workspace.currentdocument.document.TheKey(0)
doc = view.Getdocumentbykey(strkey)
If doc is nothing then
 'man darf's speichern
Else
 'man darf nicht - also Msgbox, continue=False und raus
End If

Öh, das Script solltest du nur laufen lassen, wenn das doc neu ist, also bisher noch nicht gespeichert wurde  ;)

CPO

Raimund:
Hi Entwickler,

habe ein Script zusammen gebastelt, welcher die DB nach vorhandenen Feldern durchsucht. Leider nur nach einem. Brauche aber 4.

Wenn diese schon mit den Werten vorhanden sind sollte ein speichern nicht möglich sein.

Wo liegt hier der Fehler?

Jemand eine Idee?

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim tmpdoc As NotesDocument
   Dim dcCollection As NotesDocumentCollection
   Dim cKey As String
   Dim cText As String
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   Set db = session.CurrentDatabase
   cKey = uidoc.FieldGetText("tmpBereich")
   Set view = db.GetView( "Alle Dokumente" )
   If doc.IsNewNote Then  'Prüfung auf doppelte Dokumente nur wenn Dokument neu
      Set dcCollection = view.GetAllDocumentsByKey(ckey, False)
      If doc Is Nothing Then
         Messagebox"Eintrag noch nicht vorhanden"
      Else
         Messagebox"Eintrag bereits in der Datenbank vorhanden"
         continue=False
         Msgbox "Bitte abbrechen!!!"
         Exit Sub
      End If
   End If
End Sub
Danke im Voraus

Gruß
Raimund

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln