Manage Learn to apply best practices and optimize your operations.

How Do You Do A Data Import/Merge Using Lotuscript ?

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
' 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)
Messagebox("File contains a record that is not in the database " +
End If
Messagebox("File contains an record without a unique id")
End If

' Close file
Close fileNum
bFileOpen = 0

Messagebox("File imported successfully")
Exit Sub

If (bFileOpen = 1) Then
Close fileNum
End If
Messagebox("Error importing data: " + Error$)

End Sub

This was last published in November 2000

Dig Deeper on Domino Resources - Part 2

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.




  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...