Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 02.08.02 - 15:00:11

Titel: Forall Probleme
Beitrag von: rar am 02.08.02 - 15:00:11
Hi Leitln!
Kann mir jemand sagen warum in folgendem Script ein Fehler ist:

Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim view As NotesView
Set view = db.GetView("view")
Dim coll As NotesDocumentCollection
Set coll = view.GetAllDocumentsByKey("key", True)      
Forall x In coll
    'xxxxxxx            
End Forall      

In der Zeile Forall x In coll motzt er immer
Not an array, list, collection or variant: coll

lg
rar
Titel: Re: Forall Probleme
Beitrag von: hOtze am 02.08.02 - 17:11:18
Hi.....

Hast kein:

Dim coll as NotesDocumentCollection

(aber das dürfte nicht der fehler sein. Aber ich würde immer Option Declare setzen, dann kannst du auf keinen fall vergessen was zu deklarieren)

Was sagt den der Debuger? Hat er überhaupt docs in der Coll? Stimmt der Key, mit der Ansicht überein?
Die ansicht muß in der ersten spalte kategoresiert, und aufsteigend sortiert sein.

Check mal die ganzen sachen.
Titel: Re: Forall Probleme
Beitrag von: rar am 05.08.02 - 08:40:23
Morgen!
In der 6ten Zeile habe ich die coll deklariert.
Und mitm Debugger kann ich auch nichts machen.
Das Problem ist, das ich das script nicht abspeichern kann, weil in der Zeile:
Forall x in coll anscheinend ein Syntaxfehler ist :-/
Beim Speichern wird die Zeile rot und unten in der Fehlerleiste steht:
Not an array, list, collection or variant: coll
Titel: Re: Forall Probleme
Beitrag von: hOtze am 05.08.02 - 08:50:32
Achso du kannst das nit speichern!

Dann würde ich jetzt mal vermuten das der ForAll nur für Arrays is. Du hast ja aber eine DocumentCollection.

Mußt das anders lösen........
Schmeiß den ForAll raus.

dim doc as NotesDocument

Set doc = coll.GetFirstDocument
     
Do
           'xxxxx'
           Set doc = coll.GetNextDocument(doc)
     Loop Until doc Is Nothing
Titel: Re: Forall Probleme
Beitrag von: Zimmi am 05.08.02 - 09:20:15
... oder ....

For i = 1 to coll.count
    set doc = coll.getnthdocument( i )
     'tu etwas ...
Next

Grüße von
Jimmi
Titel: Re: Forall Probleme
Beitrag von: rar am 05.08.02 - 10:10:24
Ich habe das jetzt mit
Set doc = coll.GetFirstDocument
Do While Not serv Is Nothing

Set doc = coll.GetNextDocument(doc)
Loop

gemacht.

Aber laut Hilfe, sollte es mit Forall auch gehen. (Example3)
Ziemlich deppat, daß man sich nicht auf die Hilfe verlassen kann.
Komisch ist auch, daß coll eigentlich eine Collection ist. Obwohl er das bemängelt.

Trotzdem Danke an euch
-rar