Hallo Netwolf,
Danke auch für die schnelle Reaktion hierauf.
Die Funktion Trackchanges habe ich gemäß Beispielprogrammen im WWW so selbst geschrieben, das in einer Audit-Trail Tabelle die Änderungen festgehalten werden (alter Wert, neuer Wert, wer, wann, welches Feld, welches Formular).
Die Funktion wird in den Formularen aufgerufen „vor Aktualisierung“ und „Beim Löschen“. Wie gesagt, alles funktioniert, d.h. die geänderten Datensätze werden in der Tabelle Audit-Trail protokolliert, wie gewünscht
.
Ich kann diese Funktion aber leider nicht aus Unterformularen aufrufen, dann wird nichts in der Tabelle protokolliert.
Wenn ich in diesen Unterformularen dann als Alternative mein Funktionsprogramm als Private Sub („Ereignisprozedur“) erstelle (mit leichten Abwandlungen), dann werden auch wieder alle Änderungen in dem Audit-Trail protokolliert
. Wie kann ich erreichen, dass auch aus Unterformularen die Funktion aufgerufen wird?
Vielleicht liegt es daran, wie ich den Formularnamen in der Funktion ermitteln lasse, vielleicht muss man dies für Unterformulare anders machen; ich mache das so:
Dim MyForm As Form
(…)
Set MyForm = Screen.ActiveForm
und später lase ich dann myform.name in meine Audit-Trail Tabelle schreiben.
Ist es jetzt klarer?
Grüße
Neontiger