PDA

View Full Version : 帮我看看这个代理的错误


chubobo
27-02-06, 03:37 PM
Dim groupview As NotesView
Dim groupdoc As NotesDocument
Dim item As NotesItem

Set groupview=db.GetView("GroupByName")
Set groupdoc=groupview.GetDocumentByKey(Trim(note.Department(0)),False)
If Not groupdoc Is Nothing Then
Set item=groupdoc.GetFirstItem("Members")
If Not item.Contains(note.ChineseName(0)) Then
Call item.AppendToTextList(note.ChineseName(0))
End If
Call groupdoc.Save(True,True)
End If
程序在红色处出现错误,提示 Object variable not set

lurker
27-02-06, 04:04 PM
note.ChineseName(0))
note是沒定義/還是沒有貼出來阿?

chubobo
27-02-06, 04:48 PM
原帖由 lurker 于 2006-2-27 04:04 PM 发表
note.ChineseName(0))
note是沒定義/還是沒有貼出來阿?
是没贴出来,通过msgbox note.chinesename(0)可以得到值。

chubobo
27-02-06, 04:49 PM
我现在知道问题出在members域中,我设置它为可编辑->名称域,如果这个域的值是空,那么运行代理就会出现上诉错误,如果这个域中有值,那就不会出错,为什么?

chubobo
27-02-06, 05:09 PM
呵呵,自己搞定了,判断如果为空的话,就直接赋值进去。
If groupdoc.members(0)="" Then
Set item=groupdoc.replaceitemvalue("members",note.ChineseName(0))
Else
Set item=groupdoc.GetFirstItem("Members")
If Not item.Contains(note.ChineseName(0)) Then
Call item.AppendToTextList(note.ChineseName(0))
End If
End If

Call groupdoc.Save(True,True)

空空空
27-02-06, 10:35 PM
原帖由 chubobo 于 2006-2-27 04:49 PM 发表
我现在知道问题出在members域中,我设置它为可编辑->名称域,如果这个域的值是空,那么运行代理就会出现上诉错误,如果这个域中有值,那就不会出错,为什么?

下面解释问题所在(猜想),你可以试试看
Set item=groupdoc.GetFirstItem("Members")

我猜想Members为空的时候,这个域不存在 你可以用下面代码检验:

If Not item Is Nothing Then
Msgbox "指定域存在!"
Else
Msgbox "指定域不存在!"
End If

其实从错误Object variable not set看,应该是这个问题!