Moin,
folgende Aufgabenstellung habe ich von meinem Cheffe gekriegt:
In verschiedenen Mailin-Datenbanken sollen die Maileingänge gezählt werden und diese Eingänge (nur die Anzahl) in einer Liste aufbereitet werden.
Ich habe mir also einen Agenten gebastelt, der in den Mailindatenbanken läuft:
Nach Eingang neuer Mail
Neu eingegangene Mails
Script:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim dateTime As NotesDateTime
Dim datetime2 As notesdatetime
Dim doc As NotesDocument
Dim j As Integer
Dim anz As Integer
Dim dtime As Variant
Dim db2 As notesdatabase
Dim view As notesview
Dim doc2 As notesdocument
Set db2=session.getdatabase("Server1","orgdbfkneu.nsf",False)
Set view=db2.getview("(Statistik)")
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set dateTime = New NotesDateTime( Today )
dtime=datetime.dateonly
Set doc2=view.getdocumentbykey(dTime,True)
If doc2 Is Nothing Then
Set doc2=db2.createdocument
doc2.form="(Statistik)"
doc2.Briefkasten=db.title
doc2.Datum=datetime.dateonly
doc2.Anzahl=0
Call doc2.save(True,True)
End If
For j = 1 To collection.Count
Set doc = collection.GetNthDocument( j )
Set dateTime2=New notesdatetime(doc.posteddate(0))
If datetime2.dateonly=datetime.dateonly Then 'Ist das Dokument von heute?
Anz=doc2.Anzahl(0)
Anz=Anz+1
doc2.Anzahl=Anz
Call doc2.save(True,True)
End If
Call session.UpdateProcessedDoc( doc )
Next
Alles anzeigen
Der Agent sollte also die neuen Mails durchgehen (zur Sicherheit prüfen ob das Dokument von heute ist) und dann in einer anderen Datenbank ein Dokument öffnen (wenn vorhanden, ansonsten neu anlegen) und dort das Feld Anz um eins erhöhen.
Zum Testen habe ich den Agenten auf Manuell gestellt und er funktioniert wie erwartet. Wenn ich ihn wieder über die neu erhaltenen Mails "jage" macht er gar nix...
Was mache ich falsch?