Link to home
Start Free TrialLog in
Avatar of Mirkwood
Mirkwood

asked on

Notes & VB

I'm looking for a VB sample that does the following:

1) Connects to a Notes database
2) Finds a certain document based on a simple criteria
3) Modifies some fields on the document
4) Saves the document
5) Closes the connection

Avatar of HemanthaKumar
HemanthaKumar

Hi
Here is a note which gives you some info on how to access notes environment via VB script.




Using Notes Classes in Visual Basic
===================================

Visual Basic programmers can access Notes objects through the Notes.NotesUIWorkspace and Notes.Session OLE automation objects. Notes must be installed on the same machine as the Visual Basic program. NotesUIWorkspace and NotesSession head hierarchies that give you access to all the Notes classes.

In Visual Basic, you cannot create new Notes objects as in LotusScript. You must apply CreateObject to Notes.NotesUIWorkspace or Notes.Session and work down through the hierarchies using the available methods. For example, if you want to open a Notes database in the back-end, use CreateObject to create a Notes.Session OLE automation object, then use the GetDatabase method of NotesSession to set a reference variable of type Object.
In Visual Basic, declare the reference variables for all Notes objects as type Object. When you finish using a Notes object, set the reference variable to Nothing to free the memory it uses.  Use dot notation, just as in LotusScript, to access an object's properties and methods.  Constants must be specified by actual numeric value rather than name. In LotusScript, you can get the value by displaying it. For example: Messagebox ACLLEVEL_AUTHOR,, "ACLLEVEL_AUTHOR"

Examples: Using Notes Classes in Visual Basic
Example #1:This example represents two command buttons on a Visual Basic form.
The first button writes a new document in an existing Notes database by creating a NotesSession object through OLE and creating NotesDatabase and NotesDocument objects through Notes methods. The second button frees the memory used by the Notes object before unloading the Visual Basic form.

Private Sub Command1_Click()

    Dim session As Object
    Dim db As Object
    Dim doc As Object

    Set session = CreateObject("Notes.NotesSession")
    Set db = session.GetDatabase("", "test4.nsf")
    Set doc = db.CreateDocument()

    doc.Form = "Main Topic"
    doc.Subject = Form1.Text3.Text
    doc.Body = Form1.Text2.Text
    Call doc.Save(True, False)

End Sub

Private Sub Command2_Click()

    Set doc = Nothing
    Set db = Nothing
    Set session = Nothing
    Unload Form1

End Sub

Example #2: This example represents a command button on a Visual Basic form.
The button launches Notes if it is not already running, then opens test4.nsf in the local data directory.

Private Sub Command3_Click()

    Dim ws As Object

    Set ws = CreateObject("Notes.NotesUIWorkspace")
    Call ws.OpenDatabase("", "test4.nsf")


Avatar of Mirkwood

ASKER

Doesn't answer the find question...
Hi

Hope you have understood the logic what I am trying to explain. Use db.FTSearch method to search the documents

syntax for that is:

Set notesDocumentCollection = notesDatabase.FTSearch( query$, maxDocs% [,sortoptions [, otheroptions]] )

You can find lots of example in Notes Help for searching documents.

PS:I hope that the answer gives you the most of it u asked for. Don't take it other way but sometimes few  things should be explored on ur own.

Regards,
~Hemanth
ASKER CERTIFIED SOLUTION
Avatar of stamp
stamp

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial