服务器为什么会提示“database page.MyMailbox(0) has not been opened yet”
我在b/s下有两个数据库,我想通过当前数据库调用
另外邮件数据库中的信息,可是服务器老是提示“database page.MyMailbox(0) has not been opened yet”
代码如下
Sub Initialize
Dim session As New NotesSession
Dim page As NotesDocument
Dim args As String
Dim db As NotesDatabase
Dim docdb As NotesDatabase
Dim vi As NotesView
Dim dc As NotesDocumentCollection
Dim AuthorList As Variant
Dim found As Integer
Dim cnt As Integer
Dim startPos As Integer
Dim endPos As Integer
Set page = session.DocumentContext
cnt = 0
page.List_NewMail = ""
dbname$ = "page.MyMailbox "
Set db = session.GetDatabase("",dbname$)
Call db.Open( "",dbname$ )
'Msgbox"获得邮件并打开邮件数据库"
Set vi = db.GetView( "($WebInbox)")
Set doc = vi.GetFirstDocument
While Not doc Is Nothing And (cnt < 5)
cnt = cnt + 1
page.list_NewMail = page.list_NewMail(0) + _
" " + doc.pCurrentNodeName(0) + _
""
sURL = "http://" + page.Server_Name(0) + "/" + _
page.pubPath(0) + "/" + _
dbname$ + "/0/" + _
doc.UniversalID +"?OpenDocument"
Dim sSubject As String
If Trim(mail.Subject(0)) = "" Then
sSubject = "无主题"
Else
sSubject = doc.Subject(0)
End If
page.list_NewMail = page.list_NewMail(0) + _
" <A HREF="""+sURL+""">" + sSubject +_
"</A>"
Set doc = vi.GetNextDocument( doc )
Wend
If page.list_NewMail(0) = "" Then
page.list_NewMail = " 现在没有电子邮件!"
End If
End Sub
其中MyMailbox 是一个隐藏域,域值为"/"+@ReplaceSubstring(@DbLookup("":"";"":"names.nsf";"people";@Name([CN];@UserName);"mailfile"); "\\"; "/")+".nsf"