服务器为什么会提示“database page.MyMailbox(0) has not been opened yet”

wu_liang_ 2003-07-26 09:36:27
我在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"


...全文
149 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmyvk 2003-07-28
  • 打赏
  • 举报
回复
你用公式取的路径有点问题,下面的是可行的,改一下取字符的公式吧。
Sub Initialize

Dim session As New NotesSession
Dim page As NotesDocument
Dim db As NotesDatabase
Dim vi As NotesView
Dim doc As notesdocument


Set page = session.DocumentContext
dbname$ = "mail\username.nsf"

Set db = session.GetDatabase("",dbname$)

'Msgbox"获得邮件并打开邮件数据库"
Set vi = db.GetView( "($Inbox)")
Set doc = vi.GetFirstDocument

While Not doc Is Nothing
Print "ok"
Set doc = vi.GetNextDocument( doc )
Wend

End Sub
wu_liang_ 2003-07-28
  • 打赏
  • 举报
回复
to :jackyzhan(小木可) 我在控制台看到了:数据库已经打开的提示了,但是还是不行。

to: davidnim(天道酬勤) 我已经试验了写绝对路径还是不行啊~~~

晕啊,其实只是想把邮件库的邮件在首页显示而已~~~再做不出来惨了!

应该怎样把邮件库的邮件显示呀??????????????????
wu_liang_ 2003-07-26
  • 打赏
  • 举报
回复
Help me !!! please
cnhxjtoa 2003-07-26
  • 打赏
  • 举报
回复
UP
davidnim 2003-07-26
  • 打赏
  • 举报
回复
把dbname$ = "page.MyMailbox "改为
dbname$ = page.MyMailbox(0)
小木可 2003-07-26
  • 打赏
  • 举报
回复
Set db = session.GetDatabase("",dbname$)
Call db.Open( "",dbname$ )

你这两个意思是一样啊。你看看是否名字没有写对啊。
Set db = session.GetDatabase("servername",dbname$)
你加个servername试试。
你也可以调试一下,加个print db.title试试看结果。

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧