Lotusscript:GetNextDocument
luyued 发布于 2011-01-24 07:56 浏览 N 次今日收到一位学员求助,贴出供大家参考。
胥老师,
下面是我写的Agent,当我调试的过程中发现了一个很奇怪的问题。请问您有遇到过吗?请给我一些建议好吗?
这个Agent 的逻辑是在一个View里面循环,如果DocType这个field 的值是 AAA, BBB, … , YYY, ZZZ, 就把它修改成AAA1, BBB1, …, YYY1, ZZZ1, 然后对文档进行保存。
当我运行的时候,我发现只有一半符合条件的文档成功修改了,剩下的一半就原封不动。
于是我加入了Msgbox doc.LogNo(0) 进行调试。LogNo是一个Number Field,用来储存文档的序列号,是唯一的。我发现弹出窗口显示的LogNo第一次是1(第一个文档),第二次仍然是1(本来应该是第二个文档,2),第三次是3(第三个文档),第四次仍然是3(本来应该是第四个文档,4)……
如果我把Call doc.save(False, False) 这句代码删掉,弹出窗口显示的LogNo就完全正确,1,2,3,4,……
这样看来好像如果要保存文档,循环的指针就不正确(只指向单数的文档),根据您的经验,这是什么问题呢?
Sub Initialize
On Error Resume Next
Dim sess As New Notessession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As Notesdocument
Dim doc1 As Notesdocument
Dim ct As Integer
Dim count As Integer
ct=0
count=0
Set db = sess.Currentdatabase
Set view = db.GetView( "PatchRecord" )
Set doc = view.GetFirstDocument
Do While Not (doc Is Nothing)
Msgbox doc.LogNo(0)
If(doc.DocType(0) = "AAA") Then
doc.DocType = "AAA1"
count = count + 1
End If
If(doc.DocType(0) = "BBB") Then
doc.DocType = "BBB1"
count = count + 1
End If
If(doc.DocType(0) = "CCC") Then
doc.DocType = "CCC1"
count = count + 1
End If
…
If(doc.DocType(0) = "YYY") Then
doc.DocType = "YYY1"
count = count + 1
End If
If(doc.DocType(0) = "ZZZ") Then
doc.DocType = "ZZZ1"
count = count + 1
End If
Call doc.save(False, False)
'Msgbox doc.DocType(0)
ct = ct + 1
Set doc = view.GetNextDocument( doc)
Msgbox(ct)
Msgbox count
Loop
Msgbox "finished"
Msgbox(ct)
Msgbox count
End Sub
解决方法:
当对文档保存或者删除等操作后,使用view.GetNextDocument方法不会得到正确结果,应该提早获取,可在Do While后加Set doc1 = view.GetNextDocument( doc),并将ct = ct = 1的下一句改为set doc = doc1。
MSN空间完美搬家到新浪博客!
- 07-01· 古珀行钻戒 钻石情缘
- 07-01· 庆祝古珀行珠宝乌审旗珠
- 07-01· 加盟戴梦得古珀行成就财
- 07-01· 戴梦得古珀行代表了传统
- 07-01· 527=我爱妻 爱妻就为她做点
- 07-01· 中国时尚街拍网时尚街拍
- 07-01· 财富中国名媛学堂
- 07-01· 哥特式名媛打广告:关于叛
- 07-01· 名媛最爱 2011春季新款高跟
- 07-01· 足浴店开业宣传单为你免
- 07-01· SEM深入探究-两岸职工小发
- 07-01· 柳坪中小学主要领导
- 07-01· 移植名古树和人生历炼成
- 07-01· 亿赛通苦练内功,现身“
- 07-01· 阿美,别哭
- 07-01· [有声小说 www.51ysxs.com]“把
- 07-01· 2009年 大学生就业创业论坛
- 07-01· 创意生活点亮“个性家居
- 07-01· 各界名流齐聚2010中国新丝
- 07-01· 2011世界财富小姐英才大赛