Aktuellen Benutzer bei Öffnen einer Datenbank

Hallo,

wie schaffe ich es, daß der aktuelle Benutzer, der gerade am PC angemeldet ist, niedergeschrieben wird, sobald er eine Datenbank öffnet. Im konkreten Fall möchte ich, daß ich entweder eine Email oder eine Message in mein Outlook bekomme, sobald einer eine Datenbank öffnet. In der Info enthalten sein soll der Name und das Datum mit Uhrzeit des Öffnens der Datenbank. Dabei soll der Benutzer aber nicht mitbekommen, daß eine Message versendet wird. Auch möglich wäre eine Niederschrift in einer Tabelle, wer wann die Datei geöffnet hat.
Hat da jemand was auf Lager?

Hallo,

wie schaffe ich es, daß der aktuelle Benutzer, der gerade am
PC angemeldet ist, niedergeschrieben wird, sobald er eine
Datenbank öffnet.

Vermutlich geht das nur per VBA und beim Benutzer ists etwas komplexer:
siehe Punkt 2.24 auf http://www.donkarl.com/

Im konkreten Fall möchte ich, daß ich
entweder eine Email oder eine Message in mein Outlook bekomme,
sobald einer eine Datenbank öffnet. In der Info enthalten sein
soll der Name und das Datum mit Uhrzeit des Öffnens der
Datenbank. Dabei soll der Benutzer aber nicht mitbekommen, daß
eine Message versendet wird. Auch möglich wäre eine
Niederschrift in einer Tabelle, wer wann die Datei geöffnet
hat.
Hat da jemand was auf Lager?

auch mit VBA, dürfte dann weniger das Problem sein.
Für Öffnen der Datenbank gibt es ähnliche Trigger wie fürs Öffnen von Formularen o.Ä., an die kann man dann ein

Öffnen der Tabelle (neuer Datensatz)
Einfügen der Daten in die Felder

  • Now() als Datum
  • ausgelesenen Nutzernamen
  • evtl. Nutzeraktionen (siehe Punkt 2.23)
    Schliessen der Tabelle

hängen. Habs nie versucht, aber diese Tabelle oder inhaltliche Teile davon lassen sich bestimmt auch nach Deinen Wünschen versenden.

viel Glück,
Daniel

Hallo,

das mit dem Benutzer ist eigentlich nicht wirklich kompliziert.

======================================================

’ Public Function declaration
Declare Function GetUserName Lib „advapi32.dll“ Alias _
„GetUserNameA“ (ByVal lpBuffer As String, ByRef nSize As Integer) As Integer

Public Function GetSysUsername() As String

Dim Ret As Integer
Dim Buffer As String * 256
Dim UserName As String

GetSysUsername = „“

Ret = GetUserName(Buffer, 50)
UserName = Left(Buffer, InStr(Buffer, Chr(0)) - 1)

If (Ret > 0) Then
GetSysUsername = UserName
End If

End Function

===========================================
Mit dem EMail Versand wirds da etwas schwieriger, da Outlook, ne bloede Meldung rausbringt, „Wollen Sie den Zugriff blablabalalal…“ wenn man eine Mail verschicken will. Und die Meldung kann man nicht so einfach abschalten, vor allem nicht wenn Outlook gegen einen Exchange Server laeuft.
Ich hab so was mal mit nem eigenen sendmail Modul erschlagen, aber dazu braucht man ein SMPT-Postfach zum Mailabliefern.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]