Domino 9 und frühere Versionen > Entwicklung

DokumentCollection

<< < (5/8) > >>

Axel:

--- Zitat von: skywook am 15.02.05 - 07:55:49 ---Ok, habs verstanden und werde die Dinge fürs nächste mal beachten.

@Axel
Hat leider nicht funktioniert. Habs mit Deinem letzten Tipp versucht, mit = 0 und mit = "". Alles vergebens. Hier mein Code:

...

' Diese Abfrage wird übergangen
If collection.Count = 0 Then
   Messagebox "Sie haben kein Dokument markiert!",0 + 16,"Achtung"
   Exit Sub
End If
........   
   

--- Ende Zitat ---


Hi,

so weit waren wir doch schon. Ich hatte dir dann die Version aus Antwort#7 angeboten. Hast du es damit mal probiert?

So sollte das aber jetzt funktionieren.


--- Code: ---Sub Initialize
Dim ordner As String
Dim auswahl As Integer   
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace   
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim newdoc As NotesDocument
   
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments

'Abfrage, ob überhaupt ein Eintrag markiert wurde
If collection.Count = 0 Then
   Messagebox "Sie haben kein Dokument markiert!",0 + 16,"Achtung"
   Exit Sub
End If

Set doc = collection.GetFirstDocument
'Abfrage, ob Kategorie gewählt wurde
If doc Is Nothing Then
   Messagebox "Sie haben eine Kategorie markiert!",0 + 16,"Achtung"
   Exit Sub
End If
...

--- Ende Code ---


Axel

skywook:
Hab den Fehler gefunden!
Danke für die schnellen Antworten und die Zeit die Ihr investiert habt.

@Axel
Hatte ich getestet. Hat leider auch nichts gebracht. Sorry, habs vergessen zu posten.

@All
Haltet mich nicht für blöd aber kann das wirklich der Fehler gewesen sein? Habe in den Agenteneigenschaften im Abschnitt Laufzeit:
Das Ziel von "Alle gewählten Dokumente" auf "Keines" geändert. Und jetzt funkts.

Thomas Schulte:

--- Zitat von: eknori am 15.02.05 - 08:28:44 ---ich hab es mit dem Schnipsel probiert; funzt einwandfrei


--- Ende Zitat ---
Bei mir funzt das auch.  Axels Lösung muss auch funktionieren.
Liegen könnte das daran, das hier

--- Code: ---Sub Initialize
Dim ordner As String
Dim auswahl As Integer   
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace   
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim newdoc As NotesDocument
   
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument

' Diese Abfrage wird übergangen
If collection.Count = 0 Then
   Messagebox "Sie haben kein Dokument markiert!",0 + 16,"Achtung"
   Exit Sub
End If

--- Ende Code ---
die set doc =  collection.unprocessedoducments Anweisung vor der dc.Count = 0 kommt.  Das einfach mal umzustellen so das die Anweisung nach der .count Abfrage kommt könnte auch helfen. Standard ist auf jeden Fall, wenn nix oder Kategeorie ausgewählt, dann Rückgabewert der Anzahl der Dokumente in der Collection = 0. Ist ja auch irgendwie logisch, denn Kategorien sind keine Dokumente.

Thomas Schulte:

--- Zitat von: skywook am 15.02.05 - 09:07:44 ---@All
Haltet mich nicht für blöd aber kann das wirklich der Fehler gewesen sein? Habe in den Agenteneigenschaften im Abschnitt Laufzeit:
Das Ziel von "Alle gewählten Dokumente" auf "Keines" geändert. Und jetzt funkts.

--- Ende Zitat ---
Genau das meinte ich mit vollständigen Informationen. Du hast nirgends erwähnt, das du das nicht über eine Aktion (von der wir alle ausgegangen sind) machst, sondern über einen Agent.
Bei einer Vorgangsschilderung, die gab es früher mal als Aufsatzthema in der Schule, so nach dem Motto ich erstelle eine Aktion wäre das ein glatter Fünfer, weil für den Fortgang der Handlung wichtige Bestandteile fehlen.

Thomator:
Hallo skywook,

Das wird so sein. Wenn so ein Agent aus Datanbankereignissen gestartet wird, dann muss die Einstellung auf keine Dokumente stehen. Die anderen sind eigentlich nur für Zeitgesteuerte Agenten wichtig.

Dann ist aber der Agent auch überhaupt nicht gelaufen.
mal so als Tipp für die Zukunft: Bau Dir in solche Agenten gleich an erster Stelle mal eine MsgBox ein, um zu überprüfen, ob er überhaupt startet. Da sparst Du Dir viel Arbeit (wie in diesem Fall).

Thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln