关于notesvew.GetAllEntriesByKey的问题

function a() as notesviewentrycollection
    .
    .
    .
    set a=notesview.getallentriesbykey(key,true)
    msgbox a.count  '这个是有数量的
endfunction
通过这个方法无法返回一个notesviewentrycollection对象,似乎对象只能存在于方法中,方法结束对象会被释放,有什么解决方法吗?
参与20

16同行回答

jianmjjianmj其它??
问题不在于vc ,而是在于db,你需要将db 移动至 function外,这样你会惊喜发现vc.count 是正确的显示全部

问题不在于vc ,而是在于db,你需要将db 移动至 function外,这样你会惊喜发现vc.count 是正确的

收起
互联网服务 · 2015-11-18
浏览2804
rzf006rzf006软件开发工程师华腾
回复 13# spyxy    12楼的思路我测试后是不可行的,无论vw是否为全局变量都无法获取,但是dc集合不同,即使没有把db定义为全局变量仍然可以获取到。显示全部
回复 13# spyxy


   12楼的思路我测试后是不可行的,无论vw是否为全局变量都无法获取,但是dc集合不同,即使没有把db定义为全局变量仍然可以获取到。收起
互联网服务 · 2015-08-06
浏览2703
rzf006rzf006软件开发工程师华腾
回复 12# aili1wan    虽然已经更换了其他的方式完成任务,但还是比较关心这个话题,我按照你给的思路测试了一下,发现还是不能获取到vc集合,及时vw、vc都定义为全局变量,代码如下:Option Public Option Declare Dim vc As NotesViewEntryCollection Dim vw As NotesView S...显示全部
回复 12# aili1wan


   虽然已经更换了其他的方式完成任务,但还是比较关心这个话题,我按照你给的思路测试了一下,发现还是不能获取到vc集合,及时vw、vc都定义为全局变量,代码如下:
Option Public
Option Declare

Dim vc As NotesViewEntryCollection
Dim vw As NotesView
Sub Initialize
        On Error GoTo er
        Dim vc As NotesViewEntryCollection
        Set vc=a()
        Print |方法外:| + CStr(vc.Count)
        Exit Sub 
er:
        Print Error & "----" & Erl 
End Sub
function a() As NotesViewEntryCollection
        On Error GoTo er
        Dim ss As New NotesSession
                
        Dim db As NotesDatabase
        Set db=ss.Currentdatabase
        Dim dc As NotesDocumentCollection
        Set vw=db.Getview("vwDaibanqingjia")
       
        Set vc=vw.GetAllEntriesByKey("Admin", True)
        Print "方法内:"+CStr(vc.count)+"
"         Exit Function er:         Print Error & "+++" & Erl End Function
但是使用db.search或vw.getalldocumentsbykey的方式获取dc集合的时候无论是否定义全局变量都是可以获得到的收起
互联网服务 · 2015-08-06
浏览2629
rzf006rzf006软件开发工程师华腾
回复 9# clockmaker    什么意思,不太明白,请指教下显示全部
回复 9# clockmaker


   什么意思,不太明白,请指教下收起
互联网服务 · 2015-07-27
浏览2821
rzf006rzf006软件开发工程师华腾
Option Public Option Declare Dim vc As NotesViewEntryCollection Class ox                 Private ovc As NotesViewEntryCollection         Sub New               &...显示全部
Option Public
Option Declare
Dim vc As NotesViewEntryCollection

Class ox
        
        Private ovc As NotesViewEntryCollection 
        Sub New
                
        End Sub
        
        Public Function getVc() As NotesViewEntryCollection
                Dim ss As New NotesSession
                Dim vw As NotesView
                Dim db As NotesDatabase
                Set db=ss.Currentdatabase
                Set vw=db.Getview("view_BTTJ2")
                Set vc=vw.GetAllEntriesByKey("张三", True)
                Print "方法内:"+CStr(vc.count)+"
"                 Set me.ovc=vc         End Function                 Property Get vcs As NotesViewEntryCollection                 Set vcs=me.ovc         End Property End Class Sub Initialize         On Error GoTo er         Dim oxo As New ox         Call oxo.getVc()         Set vc=oxo.vcs         Print "方法外:"+CStr(vc.count)+"
"         Exit Sub er:         Print Error & "----" & Erl End Sub
回复 6# szkenszken

测试后仍然没有效果,方法外无法获取notesviewentrycollection对象收起
互联网服务 · 2015-07-24
浏览2329
rzf006rzf006软件开发工程师华腾
回复 5# Domino-斌少 Option Public Option Declare Dim vc As NotesViewEntryCollection Sub Initialize         On Error GoTo er         Call a()         Print "方法外:"+C...显示全部
回复 5# Domino-斌少


Option Public
Option Declare
Dim vc As NotesViewEntryCollection
Sub Initialize
        On Error GoTo er
        Call a()
        Print "方法外:"+CStr(vc.count)+"
"         Exit Sub er:         Print Error & "----" & Erl End Sub Sub a()         On Error GoTo er         Dim ss As New NotesSession         Dim vw As NotesView         Dim db As NotesDatabase         Set db=ss.Currentdatabase         Set vw=db.Getview("view_BTTJ2")         Set vc=vw.GetAllEntriesByKey("张三", True)         Print "方法内:"+CStr(vc.count)+"
"         Exit Sub er:         Print Error & "+++" & Erl End Sub
测试后方法外没有输出数量,报对象变量未设置错误收起
互联网服务 · 2015-07-24
浏览1196
szkenszkenszkenszken其它contempo
定义一个class, 把返回值放到class 的的一个属性显示全部
定义一个class, 把返回值放到class 的的一个属性收起
互联网服务 · 2015-07-24
浏览1175
rzf006rzf006软件开发工程师华腾
回复 3# spyxy    定义全局变量也不行,在方法中给这个全局变量赋值,方法执行完毕后,这个全局变量仍然为nothing,变量只是指向了方法中的notesviewentrycollection对象显示全部
回复 3# spyxy


   定义全局变量也不行,在方法中给这个全局变量赋值,方法执行完毕后,这个全局变量仍然为nothing,变量只是指向了方法中的notesviewentrycollection对象收起
互联网服务 · 2015-07-24
浏览1159
rzf006rzf006软件开发工程师华腾
:(1  难道没有人遇到过吗???显示全部
:(1  难道没有人遇到过吗???收起
互联网服务 · 2015-07-23
浏览1113

    提问者

    rzf006
    软件开发工程师华腾
    擅长领域: 安全

    相关问题

    相关资料

    问题状态

  • 发布时间:2015-07-22
  • 关注会员:2 人
  • 问题浏览:17955
  • 最近回答:2015-11-18
  • X社区推广