This function can be placed in an action button in a database:
Sub Initialize On Error Goto _Error Dim bFileOpen As Integer Dim session As New NotesSession Dim db As NotesDatabase Set db = session.CurrentDatabase Dim view As NotesView Dim doc As NotesDocument Set view = db.GetView( "(CleanAddress)" ) Set doc = view.GetFirstDocument ' The Fields we are going to import Dim Field1 As String Dim Field2 As String ' The unique field for each record Dim UniqueID As String
' Name of file to get from user Dim FileName As String If Not (doc Is Nothing) Then FileName = Inputbox$("Enter your import file name: ", "Data Import", "C:\") If (FileName = "") Then Messagebox ("Import has been cancelled") Exit Sub End If Else ' There is nothing to merge into Messagebox ("Nothing to merge into! Are you sure you have already imported this file?") Exit Sub End If ' Open the file Dim fileNum As Integer fileNum = Freefile() Open FileName For Input As fileNum bFileOpen = 1 Dim item As NotesItem ' Until we eof Do Until Eof (fileNum) Input #fileNum, UniqueID, Field1, Field2 If (UniqueID > "") Then Set doc = view.GetDocumentByKey(URN) If Not (doc Is Nothing) Then doc.Field1 = Field1 doc.Field2 = Field2 Call doc.Save(True, False) Else Messagebox("File contains a record that is not in the database " + UniqueID) End If Else Messagebox("File contains an record without a unique id") End If Loop ' Close file Close fileNum bFileOpen = 0 Messagebox("File imported successfully") Exit Sub _Error: If (bFileOpen = 1) Then Close fileNum End If Messagebox("Error importing data: " + Error$) End Sub