Solved

How to import Excel data and update Notes document

Posted on 2001-07-02
5
216 Views
Last Modified: 2013-12-18
I need to import selected data from Excel or 1-2-3 worksheet to Notes. How can I import selected field from Excel to update a specific field in Notes form, assuming both records have a common unique identifier field.
0
Comment
Question by:kamar
  • 3
  • 2
5 Comments
 
LVL 4

Expert Comment

by:sloeber
ID: 6247594
Hey Kamar,

Here's an example of importing data from an excelfile to notes.
You can customize it, so that it works for you.
This is from a picture button in a navigator.
Import Excel Spreadsheet.

Sub Click(Source As Navigator)
     
     Dim filename As String
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim Doc As NotesDocument
     Dim xlApp As Variant
     Dim xlsheet As Variant
     Set db = Session.currentdatabase
     filename =  Inputbox$("Enter name of Excel file. Ex: c:\test.xls", "Data Entry Box")
     If filename = "" Then
          Exit Sub
     End If
     Set xlApp = CreateObject("Excel.application")
     xlApp.Visible = False
     xlApp.Workbooks.Open filename
     Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
     ARangeValue = xlsheet.Range("A1").Value
     i = 2
     Do Until ARangeValue = ""
          Set doc = db.CreateDocument
          doc.Name = xlsheet.Range("A" & Trim(Str(i))).Value
          doc.Address = xlsheet.Range("B" & Trim(Str(i))).Value
          doc.City = xlsheet.Range("C" & Trim(Str(i))).Value
          doc.State = xlsheet.Range("D" & Trim(Str(i))).Value
          doc.ZipCode = xlsheet.Range("E" & Trim(Str(i))).Value
          doc.form = "CI"
          Call Doc.save(True, False)
          i = i + 1
          ARangeValue =   xlsheet.Range("A" & Trim(Str(i))).Value
     Loop
     xlapp.activeworkbook.close
     xlapp.quit
     Set xlapp = Nothing
End Sub


Greets,
Sloeber
0
 

Author Comment

by:kamar
ID: 6247840
That will just import the data over, but I need to update an existing Notes record with a field from the Excel file using a common unique field. How do I do that?
0
 
LVL 4

Expert Comment

by:sloeber
ID: 6247901
That's the same way of working.
You just go to the document in your database and upadate the field, just like you create a new doc.

Else you must give me an example.

Greets,
Sloeber
0
 

Author Comment

by:kamar
ID: 6247999
Example:
I have a record in Notes with customer code CAT12 and expiry date 12/06/2002.  I have an 2 column Excel spreadsheet with list of customer codes and their new expiry date.  I need to update my old Notes record with this new one without manually opening the Notes form and type in. Is there a way to use an Agent to do all that automatically?
0
 
LVL 4

Accepted Solution

by:
sloeber earned 100 total points
ID: 6248107
Sub Click(Source As Navigator)
   
    Dim filename As String
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim Doc As NotesDocument
    Dim xlApp As Variant
    Dim xlsheet As Variant
    Dim CustCode as string
    Dim CustExp as string
    Set db = Session.currentdatabase
    set view = db.getview("yourViewWithDocuments")
    set doc = view.getfirstdocument
    filename =  Inputbox$("Enter name of Excel file. Ex: c:\test.xls", "Data Entry Box")
    If filename = "" Then
         Exit Sub
    End If
    Set xlApp = CreateObject("Excel.application")
    xlApp.Visible = False
    xlApp.Workbooks.Open filename
While Not ( doc Is Nothing )
    CustCode = doc.CustCode(0)
    Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
    ARangeValue = xlsheet.Range("A1").Value
    i = 2
    Do Until ARangeValue = ""
         
         if CustCode = xlsheet.Range("A" & Trim(Str(i))).Value then {
         doc.CustExp = xlsheet.Range("B" & Trim(Str(i))).Value
         Call Doc.save(True, False)
         End if
         i = i + 1
         ARangeValue =   xlsheet.Range("A" & Trim(Str(i))).Value
    Loop
    set doc = view.getnextdocument(doc)
wend
    xlapp.activeworkbook.close
    xlapp.quit
    Set xlapp = Nothing
End Sub


Greets,
Sloeber

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Domino not switching to TLS 1.0 4 775
Send email lotus notes / VBA 6 167
Unable to get Domino 9  Repeat AllDay Calendar Event via C&S API 2 217
Lotus Domino server 11 62
I thought it will be a good idea to make a post as it will help in case someone else faces these issues. I trust this gives an idea how each entry in Notes.ini can mean a lot for the Domino Server to be functioning properly. This article discusses t…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now