Liebe Kolleginnen und Kollegen,
kann mir bitte jemand erklären, warum die von der Funktion zurückgelieferte NOtesDocument Collection immer leer ist?
Ich steh derzeit auf der Leitung. ???
Option Public
Option Declare
Sub Initialize()
Dim dc As NotesDocumentCollection
Set dc = getCol()
If( dc Is Nothing) Then
MsgBox "NotesDocumentCollection ist NOTHING"
Else
MsgBox CStr(dc.Count) & " Einträge gefunden"
End If
End Sub
Private Function getCol () As NotesDocumentCollection
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim dc2 As NotesDocumentCollection
Set db = New NotesDatabase("", "names.nsf")
If( Not db.IsOpen ) Then
Call db.Open("","")
End If
Set view = db.GetView("($People)")
Set dc2 = view.Getalldocumentsbykey("", False)
Print "Found in Function getCol: " & CStr( dc2.Count ) & "<"
Set getCol = dc2
End Function
Hallo,
Und wenn er die Collection, die zurueckgegeben werden soll nicht als Rueckgabewert liefert, sondern die zu fuellende Collection als Parameter an die entsprechende Funktion/Prozedur uebergibt.
Parameter werden doch, wenn nichts anderes angegeben wird mittels "ByRef" uebergeben.
Sub Main
Dim col As NotesDocumentCollection
Call GetDocuments(col)
End Sub
Sub GetDocuments(colGet As NotesDocumentCollection)
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Set db = ses.CurrentDatabase
If db.IsOpen Then
Set vw = db.GetView("Name")
If Not vw Is Nothing Then
Set colGet = vw.GetAllDocumentsByKey("Key", True)
End If
End If
End Sub
In dem Fall sollte bei Main die Collection nach erfolgreichem Aufruf der Prozedur GetDocuments doch noch vorhanden sein.
Andreas