Ich rufe im web mit eine link "?OpenFrameset&Login" nachdem sich der user angemeldet hat ruf ich einen Agent auf "Logging?OpenAgent".
Im Agent steht dieser Code:
Dim s As New NotesSession
Dim db As NotesDatabase
Dim ldoc As NotesDocument
Dim newdoc As NotesDocument
Dim view As NotesView
Set db = s.CurrentDatabase
Set view = db.GetView( "Counter" )
Set ldoc = view.GetDocumentByKey( "log" )
Dim nam As NotesName
Set nam = s.CreateName(s.EffectiveUserName)
user = nam.Abbreviated
dateread = Now
displayall = user & " : " & dateread & Chr$(13)
If Not ldoc Is Nothing Then
history = ldoc.AccessLog(0)
Set item = ldoc.GetFirstItem("AccessLog")
Call item.AppendToTextList(displayall)
ldoc.AccessLog = ""
ldoc.Accesslog = displayall & history
Call ldoc.save (True, False)
Else
Set newdoc = db.CreateDocument
newdoc.form = "Log"
Dim PublicAccess As New NotesItem(newdoc, "$PublicAccess","1")
Dim item2 As New NotesItem(newdoc, "AccessLog", displayall)
Dim item3 As New NotesItem(newdoc, "LogDate", Format(Date$,"Short Date"))
Call newdoc.Save(True,False)
End If
Der Agent funktioniert auch bis auf das er mir immer den gleichen Namen ausgibt der den Agent gespeichert hat.
Nehm ich Set nam = s.CreateName(s.UserName) dann gibt er mir den Servernamen zurück.
und Evaluate geht leider nicht :Set nam = s.CreateName(Evaluate("@Name([Abbreviate]; @UserName)"))
Wie kann ich das machen das er mir den User zurückgibt der im Web angemeldet ist?