TITLE:  A generic function to check duplicate documents based 
on key field 
 
This tip was submitted by Teck Lung Ng, a consultant in Singapore. 
 
This is a generic function to check for any duplicate documents based 
on a lookup view and lookup key column.  It will handle both new and 
saved document checking.  The check on saved document is necessary, as 
the key in the document may be editable after it is saved.  
 
CODE: 
Function IsDocumentDuplicate (db As NotesDatabase, viewName As String, _ 
keyColumnName As String, doc As NotesDocument, errorMsg As String) 
 
		 IsDocumentDuplicate = False 
 
		 Dim viewLookup As NotesView 
		 Dim docLookup As NotesDocument 
		 Dim errorString As String 
 
		 errorString = "Document already exists in the database!" 
		 Set viewLookup = db.GetView(viewName) 
		 If Not viewLookup Is Nothing Then 
		   Set docLookup = viewLookup.GetDocumentByKey(keyColumnName, True) 
		     If Not docLookup Is Nothing Then 
		 		  If doc.IsNewNote Then 
		 		 		 errorMsg = errorString 
		 		 		 Exit Function 
		 		  Else 
		 		 		 If doc.UniversalID <> docLookup.UniversalID Then 
		 		 		 		 errorMsg = errorString 
		 		 		 		 Exit Function 
		 		 		 End If 
		 		 End If 
		 Else 
		 		 errorMsg = "Error getting doc object for lookup document!" 
		 		 		 Exit Function 
		 		 End If 
		 Else 
		 		 errorMsg = "Error getting view object for lookup document!" 
		 		 Exit Function 
		 End If 
 
		 IsDocumentDuplicate = True 
 
End Function
  
previous page
 
  |