ich habe mal etwas ähnliches machen müssen, eigentlich fast das Gleiche, wenn ich es mir so recht überlege.
Dazu bin ich folgendermaßen vorgegangen:
- im ersten Schritt pro "Hit" auf ein Document ein separates Zählerdoc erstellt
- am nächsten Tag die Hitdocs des Vortages eingesammelt per Agent (am nächsten Tag deswegen, da es ja immer sein kann, daß User auch um 23:00 noch tätig sind und der Agent bei einem 19:00 Uhr Lauf einige Hits "vergessen" würde dadurch...und Agent auf 23:30 zu stellen wollten wir nicht, da zu knapp an Tagesgrenze), den einzelnen Dokumenten als Report zugeordnet und die Hitdocs nach Zählung jeweils gelöscht.
(Man muß sich das wie eine Arbeitszeit DB vorstellen = jeder User ist einmal registriert, er kann an einem Tag mehrere Meldungen erfassen, die am Ende des Monats die Zeitabrechnung ergeben, wobei die Einzelmeldungen gelöscht werden können)
- dann wurden die Report Docs erstellt:
2 Report Doc Typen für 1 Dokument
- 1 Report Typ = "Monatsreport" => Hits pro Tag in einem Monat
- 1 Report Typ = "Quartalsreport" => Hits pro Monat in 1 Quartal
somit hat man am Ende des Jahres
1 Dokument
12 Monatsreportdoc
1 Jahresreportdoc
wobei die Monatsreports bei uns nach Ablauf des Quartals gelöscht wurden
Das Monatsreportdoc besteht aus
- der Zuordnung zum eigentlich Doc
- 31 Tagesfeldern (numerisch)
- Monat
- Jahr
Das Quartals/Jahresdoc besteht aus
- der Zuordnung zum eigentlich Doc
- 12 Monatsfeldern (numerisch)
- 4 Quartalsfeldern (numerisch)
- Jahr
das Script dazu findest Du im Dateianhang, damit Du mal einen Einblick bekommst.
Das Script selbst ist sehr linear aufgebaut udn hat an sich nur einen kleinen Trick: damit ich nicht einzeln die anzusprechenden Tagesfelder in den Code reinhacken mußte, habe ich das zu befüllende Feld schlicht dynamisch fokussiert:
stelle das upzudatende Tagesfeld ein
Dim feldname As String
feldname = "tag" & Cstr(tag)
'belege das gueltige Tagesfeld mit dem Wert 1, da es der erste Hit ist
Dim item As NotesItem
Set item = newdoc.ReplaceItemValue( feldname, 1 )
das Attachment: