Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: -------> Neu: dotNet & Visual Studio Forum <-
Änderungsprotokoll erstellen
Gehe zu Seite 1, 2  Weiter
zurück: Datensätze Unterendlosformular in Tabelle übergeben weiter: Schnellsuche im Formular mit automatischer aktualisierung Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Wuddi
Gast


Verfasst am:
08. Feb 2005, 11:45
Rufname:

Änderungsprotokoll erstellen - Änderungsprotokoll erstellen

Nach oben
       

Hallo,
kann mir jemand sagen wie ich ein Änderungsprotokoll erstellen kann?
Ich will nur wissen welche Daten geändert oder hinzugefügt wurden!
Am liebsten wäre mir eine einfache Lösung!

MfG
Wuddi
taomik
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. März 2005, 14:33
Rufname:


AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

hi,
am einfachsten wenn du im ereigniss "bei geändert" einen code hinterlegst.
z.b.
Code:
    Me!test = Me.Application.CurrentUser & " " & Now
so hast du die zeit und user mitgeschrieben.
wenn du alle änderungen mitschreiben willst wird es etwas komplizierter.

gruss

taomik
mc_moe
inzwischen VBA intermediate (auch durch euch)


Verfasst am:
15. März 2005, 09:20
Rufname:
Wohnort: Aschaffenburg

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

hab das mal verbaut. ist ein wenig aufwendiger als taomiks lösung...

im prinzip sichern des feldinhalts beim hingehen in eine neue variable, beim verlassen (neuen) feldinhalt in eine neue variable; vergleichen und bei änderung protokolleintrag (hatte ich in ner separaten tabelle) erstellen...

_________________
----------------------------------------------------
plz let me know if it works...
Gast



Verfasst am:
21. Apr 2005, 17:11
Rufname:

Geht's auch kompliziert ? ;-) - Geht's auch kompliziert ? ;-)

Nach oben
       

Hallo zusammen,

mir stellt sich grade ein ähnliches Problem wie Wuddi.
Mit dem kleinen Unterschied, dass es mich nicht interessiert,
wer wann irgendwas geändert hat, sondern bei welchem Datensatz welches Feld geändert wurde und wie der Ursprungswert war.

Ich möchte Änderungen gerne in einer sep. Tabelle "mitloggen".
1 Feld für den Key des geänderten Datensatzes
1 Feld für den Feldnamen bei dem etwas geändert wurde (z.B. Vorname)
1 Feld für den alten Wert

Ändert sich z.B. 3x der Vorname (doofes Beispiel..), kann ich hinterher
auf eine Art Änderungshistorie zurückgreifen.

Ich glaube es gibt mindestens 2 Ansätze für dieses Probelm:

1. Ich nutze das Ereignis "Bei Änderung" (Access '97, deutsch)
bei jedem verdammten Feld und vergleiche irgendwie (wie?)
den Feldinhalt vor und nach Fokuserhalt (oder so ähnlich).
Wenn sich was ändert, häng ich eine Zeile in der Log-Tabelle an.

2. Ich nutze ein raffiniertes VBA-Script .... Wink))
Leider bin ich nicht so raffiniert. An dieser Stelle käme dann das
Forum in's Spiel.
Hat jemand 'ne Idee, wie man mein Problem am clversten lösen kann ?

Die Hoffnung stirbt zuletzt Smile
mc_moe
inzwischen VBA intermediate (auch durch euch)


Verfasst am:
22. Apr 2005, 08:29
Rufname:
Wohnort: Aschaffenburg


AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

also hier mal ein ansatz....

->vor aktualisierung
Code:
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim SQL$

    Set db = CurrentDb
    If Me!deinsteuerelement.OldValue <> Me!deinsteuerelement Then
        SQL = "SELECT key, Feldname, AlterWert " _
                  & "FROM deineProtokolltabelle"
        Set rs = db.OpenRecordset(SQL)
        rs.AddNew
        rs!Key = deinkey 'keine ahnung, wie du das meinstest
        rs!Feldname = Me!deinsteuerelement.Name
        rs!AlterWert = Me!deinsteuerelement.OldValue
        rs.Update
        rs.Close
    End If
beantwortet das deine frage??
ach btw: hab's nicht getestet, müsste aber so funzen... Laughing

_________________
----------------------------------------------------
plz let me know if it works...
Willi Wipp
Moderator


Verfasst am:
22. Apr 2005, 10:16
Rufname:
Wohnort: Raum Wiesbaden

Re: Änderungsprotokoll erstellen - Re: Änderungsprotokoll erstellen

Nach oben
       

Hi Gast,

warum einfach wenn es auch kompliziert geht Wink
Ich verwende eine Tabelle tabChanges mit den Feldern:
ID: Autowert
ZlForm_ID: ID des Formulars (ungebundenes Textfeld: DeineFormID) / Datentyp: Zahl (Long)
ZlDS_ID: ID des Datensatzes / Datentyp: Zahl (Long)
TmOldValue: Alter Wert des Steuerelements (Feldes) / Datentyp: Memo
TmNewValue: Neuer Wert des Steuerelements (Feldes) / Datentyp: Memo
DtChanged: Zeitpunkt der Aenderung / Datentyp: Datum/Zeit
TxUser: Benutzer / Datentyp: Text (50)

In einem Modul (nicht Formular-/BerichtsModul)
Code:
Public Function FnBeforeUpdateSaveChanges()
    Dim ctl As Control
    Dim frm As Form
    Dim sSQL    As String
   
    Set frm = Screen.ActiveForm
    Set ctl = Screen.ActiveControl
    If ctl.OldValue <> ctl Then
        sSQL$ = "INSERT INTO tabChanges (ZlForm_ID, ZlDS_ID, TmOldValue, " & _
                                        "TmNewValue, DtChanged, TxUser) " & _
                "VALUES (" & frm!DeineFormID & ", " & frm!DeineID & ", '" & _
                         CStr(ctl.OldValue) & "', '" & CStr(ctl) & _
                         "', Now(), CurrentUser())"
        Debug.Print sSQL$
        CurrentDb.Execute sSQL$
    End If
End Function

Bei den Feldern die verfolgt werden sollen fuer das Ereignis Vor Aktualisierung (BeforeUpdate)
Code:
=FnBeforeUpdateSaveChanges()

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
mc_moe
inzwischen VBA intermediate (auch durch euch)


Verfasst am:
22. Apr 2005, 10:18
Rufname:
Wohnort: Aschaffenburg

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

ist natürlich auch ne idee, mit ner aktionsabfrage zu arbeiten... Very Happy
_________________
----------------------------------------------------
plz let me know if it works...
Kojak1808
Access Noob


Verfasst am:
23. Nov 2007, 16:50
Rufname:
Wohnort: Mz-Kostheim

Re: Änderungsprotokoll erstellen - Re: Änderungsprotokoll erstellen

Nach oben
       Version: Office XP (2002)

Hallo zusammen,
Ich habe das Skript mal ausprobiert, da ich versuche ein Änderungsprotokoll zu erstellen.
Allerdings habe ich ein kleines Prob. mit folgender Code Anweisung:
Code:
    sSQL$ = "INSERT INTO tabChanges (ZlForm_ID, ZlDS_ID, TmOldValue, " & _
                                        "TmNewValue, DtChanged, TxUser) " & _
                "VALUES (" & frm!DeineFormID & ", " & frm!DeineID & ", '" & _
                         CStr(ctl.OldValue) & "', '" & CStr(ctl) & _
                         "', Now(), CurrentUser())"
Den Punkt VALUES (" & frm!DeineFormID & ", " & frm!DeineID & ", '" & _ verstehe ich nicht ganz.
zwar ist angegeben damit
Zitat:
ZlForm_ID: ID des Formulars (ungebundenes Textfeld: DeineFormID) / Datentyp: Zahl (Long)
ist. Nur welche FormID ist gemeint ?!?!?!!

Stehe im Moment völlig auf dem Schlauch. Confused Shock

Für eine erläuterung oder dergleichen währe ich sehr dankbar

Gruß
Kojak
derArb
getting better


Verfasst am:
23. Nov 2007, 17:10
Rufname: derArb
Wohnort: Berlin

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

hallo,

in Tabelle tabChanges gibt’s die Spalte ZlForm_ID.
Im Formular gibt’s ein ungebundenes Textfeld mit dem Namen DeineFormID
Es wird in die Tabellenspalte ZlForm_ID der Wert aus dem ungebundenen Textfeld
DeineFormID eingetragen. Das frm! weist auf ein Formular hin. Würdest Du das Textfeld umändern in MeineIDimFormular,
dann wäre es frm! MeineIDimFormular

Mit freundlichen Grüßen
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Kojak1808
Access Noob


Verfasst am:
23. Nov 2007, 17:24
Rufname:
Wohnort: Mz-Kostheim

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

Suuuuuuuuppppppeeeeeeeeeeerrrrrrr,

kaum verstanden, schon funktioniert es Laughing

Jetzt bräuchte ich aber nicht den Acces-User sondern den Windows - User Embarassed
habe es versucht mit
Code:
    Dim Username    As String

    Environ("Username")
Anstelle von CurrentUser()

nur da bekomme ich nun ein "Fehler beim Kompilieren, Erwartet Anweisungsende" !?!?!

Danke im vorraus
Gruß
Kojak
mc_moe
inzwischen VBA intermediate (auch durch euch)


Verfasst am:
24. Nov 2007, 14:35
Rufname:
Wohnort: Aschaffenburg

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

der fehler selbst sagt mir nix, aber mit der funktion aus diesem topic kann man gut den windowsnamen auslesen:

Windows Login Name abfragen

_________________
----------------------------------------------------
plz let me know if it works...
derArb
getting better


Verfasst am:
24. Nov 2007, 14:40
Rufname: derArb
Wohnort: Berlin

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

hallo,

z.B. beim Öffnen eines Formulars
Code:
Private Sub Form_Open(Cancel As Integer)
    Me!DeinTextfeld = Environ("UserName")
End Sub

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Kojak1808
Access Noob


Verfasst am:
29. Nov 2007, 10:54
Rufname:
Wohnort: Mz-Kostheim

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

HI, Sorry damit ich mich erst jetzt melde, aber da ein Kollege erkrankte, konnteich nicht früher nachschauen.

Nu iss er wieder da und ich widme mich wieder meinem Problemchen.

Werde das gleich mal ausprobieren und mich nochmal melden.

Gruß
Kojak
klerafukan2
Gast


Verfasst am:
02. Feb 2009, 15:13
Rufname:

AW: Änderungsprotokoll erstellen - AW: Änderungsprotokoll erstellen

Nach oben
       

Hallo Willi!

Erstmal vielen Dank für deine Lösung, funktioniert sehr gut bei mir.
Ich habe noch eine Frage:

Ich will das Formular, in dem der neue und alte Datensatz stehen, mit einem Button der Form DoCmd.Close schließen. Es erscheint dann eine Fehlermeldung, dass einer der beiden werde der Abfrage: If ctl.OldValue <> ctl Then [...]
fehlt.
Wie kann ich denn das "Klicken des Linkspfeils im Datensatznavigierer" simulieren mit VBA code, dass er die Maske schließt und trotzdem Zugriff auf beide Werte hat.
Ich hoffe es ist halbwegs klar, was ich meine.

Grüße
Willi Wipp
Moderator


Verfasst am:
03. Feb 2009, 03:41
Rufname:
Wohnort: Raum Wiesbaden


Re: Änderungsprotokoll erstellen (II) - Re: Änderungsprotokoll erstellen (II)

Nach oben
       

Hi klerafukan2,

wo genau und wie setzt Du denn die Funktion ein?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fremdschlüssel erstellen? 1 chica 11116 05. Feb 2006, 18:28
cablit Fremdschlüssel erstellen?
Keine neuen Beiträge Access Tabellen & Abfragen: Code erstellen 2 Frosch73 577 30. Nov 2005, 14:32
Frosch73 Code erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: 1:1-Beziehung erstellen / Fehlermeldung 3201 6 Silvercreast 2193 17. Okt 2005, 04:55
Timbo 1:1-Beziehung erstellen / Fehlermeldung 3201
Keine neuen Beiträge Access Tabellen & Abfragen: Sport Statistik erstellen 5 Tep 1928 29. Sep 2005, 16:42
stpimi Sport Statistik erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehung mit Mastertabelle erstellen 1 Mucro 2904 23. Sep 2005, 19:23
stpimi Beziehung mit Mastertabelle erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: unlöschbaren Datensatz erstellen 1 Vincent_Vega 893 15. Aug 2005, 21:45
stpimi unlöschbaren Datensatz erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: beziehungen erstellen ? 5 _nadine_ 666 09. Aug 2005, 15:20
MasterPRO beziehungen erstellen ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen Alternative zu DOMWERT erstellen 3 Gast 1013 29. Jul 2005, 15:32
Willi Wipp Abfragen Alternative zu DOMWERT erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehungsproblem bzw. erstellen von Tabellen 24 Katja2 1986 20. Jul 2005, 22:25
Katja2 Beziehungsproblem bzw. erstellen von Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Datensaetze erstellen 3 ITHeiko 777 24. Jun 2005, 12:54
Willi Wipp Datensaetze erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage einen Standardwert erstellen 6 AchimL 3159 28. Mai 2005, 16:00
AchimL In Abfrage einen Standardwert erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Bericht über best. Zeitraum erstellen 22 JensS 2805 25. Mai 2005, 15:38
mapet Bericht über best. Zeitraum erstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum