Einen wunderschönen guten Morgen!
Ich habe vor einen Agenten laufen zu lassen, der alle Geburtstage die in den folgenden 2 bzw. 3 Tagen kommen per Mail an den jeweiligen Kollegen zu schicken.
Der Agent prüft quasi in jedem Dokument "Kontakt" das Geburtsdatum und setzt eine Variable "tag" auf 2 oder 3 Tage in die Zukunft, damit ich per Today Vergleich die If-Schleife bestätigen kann.
Soweit so gut....
Ich habe nur ein kleines Problem, und zwar weiß ich, dass das Datum mit dem Jahr (2015) verglichen wird und ich komme einfach nicht drauf, wie ich nur den Tag und den Monat vergleichen kann.
Sprich also, dass nächstes Jahr keiner benachrichtigt wird.
Ihr habt doch sicherlich einen Rat für mich
Anbei noch meinen Agenten:
%REM
Agent Geburtstage Errinerung
Created 30.01.2015 by Michael Klaus
Description: Comments for Agent
%END REM
Option Public
Option Declare
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim senddoc As NotesDocument
Dim rtItem As NotesRichTextItem
Dim strSubject As String
Dim strDocName As String
Dim strBody As Variant
Dim strEmpfaenger As String
Dim heute As String
Dim dateTime As New NotesDateTime( "heute" )
Dim tag As Variant
Dim adjustment As Integer
tag = CDat(dateTime.dateOnly)
If Weekday(tag) = 2 Or Weekday(tag) = 3 Then ' Monday or Tuesday
adjustment = +3
Else
adjustment = +2 ' any other day
End If
Call dateTime.AdjustDay( adjustment )
tag = CDat(dateTime.dateOnly)
Set db = session.Currentdatabase
Set senddoc = New NotesDocument(db)
Dim dc As NotesDocumentCollection
Dim vw As NotesView
Set vw = db.GetView("IGeburtstage")
Dim vc As NotesViewEntryCollection
Dim entry As NotesViewEntry
Set vc = vw.AllEntries
Set entry = vc.GetFirstEntry()
While Not (entry Is Nothing)
Set doc = entry.Document
If doc.GetItemValue("IKGeburtstag")(0) = tag Then
Set rtitem = New NotesRichTextItem( senddoc, "Body" )
strEmpfaenger = doc.GetItemValue("Author")(0)
strDocname = doc.GetItemValue("IKNachname")(0)
With senddoc
.Form = "Memo"
.SendTo = "Email@Email.de" 'doc.GetItemValue("Author")(0)
.SendFrom = "CRM@Email.de"
.Principal = "CRM@Email.de"
.DisplaySent ="CRM"
.Subject = "Geburtstagscheck - Anstehender Geburtstag - " + strDocName
End With
strBody = "Automatische Erinnerung! Der folgende Kontakt hat am " + tag +" Geburtstag:" & Chr(13) & Chr(13)
Call rtitem.AppendText(strBody)
Call rtItem.AppendDocLink(doc, doc.UniversalID)
Call senddoc.send(False)
End If
Set entry = vc.GetNextEntry(entry)
Wend
End Sub