新聞| | PChome| 登入
2008-05-29 16:12:08 | 人氣364| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

通過VB打開Notes 數據庫

一、前言

    acerun: yes"> 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”)

台長: Kenny
人氣(364) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 記憶體相關 |
此分類下一篇:通過LEI技術實現NOTES與SQL2000數據交換(一)(二)
此分類上一篇:教你在Linux下運行notes客戶端(圖)

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文