通过Visual Basic 打开Notes 数据库

一、前言

    Visual Basic是微软(中国)有限公司在中国力推的编程工具,它具有易学易用、编程简洁、程序集成化程度高等特点。Lotus Notes是Lotus公司推出的群件系统,它不仅仅是个应用软件,更是一个开发平台。 

Notes数据库是文档型数据库,它使用LotusScript编写相应的代码完成设计者的需求。LotusScript语法类似于Visual Basic的语法,两者之间有什么联系呢?如何使用 Visual Basic 应用与Notes数据之间进行交互呢?Visual Basic也能像在Notes中一样轻松访问Notes类。本文讨论了使用Visual Basic 中访问Notes类的方法。

二、设计思路

    Visual Basic中可以通过OLE功能来使用Notes.NotesUIWorkspace 和 Notes.NotesSession访问Notes类。使用CreatObject得到NotesUIWorkspace 和NotesSession对象。下面几行Visual Basic代码得到当前计算机上一个名为“testdb.nsf”的数据库对象。

    Dim session As Object

    Dim db As Obiect

    Dim doc As Obiect

    Set session = CreatObject (“Notes.NotesSession”)

    Set db = session.GetDatabase(“”,”testdb.nsf”)

    要通过Visual Basic 在桌面上打开Notes 数据库,应先得到NotesUIWorkspace对象,然后通过openDatabase 函数打开相应的数据库即可。

    1. 在 Visual Basic 中不能像在LotusScript 中那样创建新的Notes对象,因此只能通过NotesUIWorkspace 和 NotesSession 这两个顶类层访问其他Notes对象。LotusScipt中的Notes类提供了一个非常完整的遍历整个层次结构的方法,我们完全可以用这个方法得到任何需要的Notes类。

    2. 在Visual Basic中所有的Notes变量都应声明为Object类型。

    3. 在Visual Basic 中访问Notes类,首先Visual Basic必须与notes装在同一台计算机上。

    4. 使用上面的方法打开notes数据库时,会出现无法将notes窗口移到前端的情况。调用windows API中的ShellExecute即可解决这个问题。

三、程序实现

下面这段程序打开一个Notes数据库并把它移到最前面,使用户看到这个数据库。

Public Declare Funcrion ShellExecute Lib “Shell32.dll” Alias “ShellExecuteA”_

(byval hWnd As long, byval IpOperation As String , byval IpFile As String,_

Byval IpParameters As String, byval IpDirectory As Long,_

Byval nShowCmd As Long ) As Long

 ‘将Notes对象声明为Object

dim session as object

dim uiWs as object

dim dbname as string

dim servername as string

dim iRet as integer

 ‘在此填入你要打开的数据库和服务器名

dbname = “cipher/cipher.nsf”

servername = “rtpswgsserver”

 ‘创建NotesSession 对象,如果Notes已经运行,这句程序将打开Notes窗口;如果没有运行Notes,则启动它

set session = CreateObject (“Notes.NotesSession”)

 ‘通过调用windows API 函数使Notes窗口在前台打开

iRet = ShellExecute(Me.hWnd,”open”,”notes.exe”,VbNullString ,_

      dummystring , SW_SHOWNORMAL)

 ‘创建NotesUIWorkspace对象

set uiWs = CreateObject (“Notes.NotesUIWorkspace”)

 ‘打开数据库

call OpenDatabase (servername , dbname)

‘要以特定的视图打开表单时使用

call OpenDatabase (servername , dbname , “viewname”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值