Office: (Office 2013) Änderungen mitprotokollieren

Helfe beim Thema Änderungen mitprotokollieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, habe hier das Beispiel aus DBwiki, um Änderungen auf dem Formular mit zu Protokollieren: Private Sub RecordChanges(DeleteRecord As... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Jockel2000, 2. Februar 2020.

  1. Änderungen mitprotokollieren


    Hallo zusammen,

    habe hier das Beispiel aus DBwiki, um Änderungen auf dem Formular mit zu Protokollieren:

    Private Sub RecordChanges(DeleteRecord As Boolean)
    Dim c As Control, T As String, FO As String, FN As String, ae As String, frm As String, kom As String

    ae = DBUser
    frm = Me!Standardnummer
    If IsNull(Me!comment) Then
    Me!comment = "kein Kommentar abgegeben"
    End If

    ' dies ist nur ein Beispiel - speziell die Handhabung der NULL-Werte kann man
    ' natürlich auch ganz anders gestalten!

    For Each c In Me.Controls
    T = ""
    On Error Resume Next
    T = c.ControlSource
    On Error GoTo 0
    If T "" Then
    FO = Left(Nz(c.OldValue, ""), 255)
    If FO = "" Then FO = ""
    FN = Left(Nz(c.Value, ""), 255)
    If FN = "" Then FN = ""
    End If
    If FN FO Then
    CurrentDb.Execute "INSERT INTO tbl_Audit_SST (Feld, num, old, new, chdate, chfrom, comment) " & _
    " VALUES ('" & c.Name & "','" & frm & "','" & FO & "','" & FN & "',Now(),'" & ae & "','" & comment & "')"
    End If
    Next c
    End Sub


    Frage : suche eine Möglichkeit, ein Paar Textboxen von der Funktion auszuschließen, wo nichts protokolliert werden soll, wie könnte ich das machen ?

    Danke

    Jockel

    :)
     
    Jockel2000, 2. Februar 2020
    #1
  2. Moin Jockel.

    Seit mehr als zehn Jahren bist Du hier Mitglied und hast es immer noch nicht kapiert, dass es Code-Tags gibt, die die Programmzeilen besser lesbar machen.
    Ganz zu schweigen davon, dass es zusätzlich (auch Dir selbst) hilft, wenn Du Kontrollstrukturen einrückst.

    Das ist ein Trauerspiel.
    Deshalb mag ich inhaltlich auch (fast) nicht darauf eingehen.

    Nur eins:
    wenn solche haarsträubenden Dinge da drin stehen, solltest Du Dich nicht wundern, wenn das nicht läuft.
    Wie sollen denn aus einem Leer-String 255 Zeichen ermittelt werden???
     
    hcscherzer, 4. Februar 2020
    #2
  3. Hier einige von vielen Möglichkeiten:

    Du machst eine Collection die nur die gewünschten Steuerelemente enthält.
    Du benennst die Steuerelemente, so dass klar ist welche dazugehören.
    Du nutzt die Tag Eigenschaft der Steuerelemente.
     
    markusxy, 4. Februar 2020
    #3
  4. Änderungen mitprotokollieren

    Hallo,

    sorry, wenn in dem Beispiel auf der DBWiki Seite so was drin steht.
    Habe doch geschrieben, das ich das Beispiel von dort habe.
    über Code-Tags können wir ja gerne reden.

    Jockel
     
    Jockel2000, 4. Februar 2020
    #4
  5. Hallo Jockel,

    brauchst nicht viel darüber reden *Smilie,
    ich habe diesen Code schon jahrelang in Verwendung und er funktioniert problemlos.
    Die Tabellen-Felder und Namen kannst ja anhand des Codes ermitteln,
    muss ja wo gesichert werden.
    z.B.: TextOld, tblChanges
    Code:
    Im Formular musst noch verwenden...
    Code:
    Die Felder die du nicht haben möchtest, nicht verwenden...
    z.B. !IDMA = lUser (die UserID ist aber sinnvoll) und was du noch speichern möchtest hinzufügen.
    Und, für jedes Feld dass du sichern möchtest musst im Formular bei Marke (Tag) ein ChangeSave einfügen.
    Das war's eigentlich auch schon. Hoffe, du kommst damit klar und viel Erfolg damit.
     
    Kyron9000, 5. Februar 2020
    #5
  6. \@Kyron9000
    Ich weiß jetzt nicht ob Control.Value Empty liefern können.
    Ich gehe jetzt aber von Null aus - habs jetzt aber nicht geprüft.

    Was bei einem Vergleich mit Null raus kommt solltest du aber wissen.
    Da ist man einfach sprachlos.
     
    markusxy, 5. Februar 2020
    #6
  7. \@markusxy
    was willst eigentlich von mir??
    Ich habe kein Control.Value Empty im Code, nerv mich nicht.
    MeinCode läuft jetzt seit vielen Jahren ohne Probleme.
    Wennst sprachlos bist kann das nur ein Vorteil sein.
    Bitte beschränke dich auf das wesentliche, müll nicht das Forum mit deinen
    eigenartigen Hinweisen voll.

    PS: falls du den Satz meinst...
    Ich habe damit die Tags gemeint, da ich das schon funktionsfähig habe...!!!!
     
    Kyron9000, 5. Februar 2020
    #7
  8. Änderungen mitprotokollieren

    Herrlich...
    eigentlich steht es genau da, worum es geht.


    Code:
    Wenn einer der beiden Value Werte Null ist, funktioniert der Vergleich nicht.

    if Null 1 ist eben nie true

    oder 1 Null,

    dann wird das nie als Änderung betrachtet.
    Eigentlich ein Anfänger Thema.
    Nur eben ein Wichtiges.
     
    markusxy, 5. Februar 2020
    #8
  9. \@markusxy *grins

    wenn du einmal etwas produktives zu einem Thread beizutragen hast...
    mach es bitte, nur blablaba... ist eigentlich wenig Hilfe.
    Sag einfach was an dem Code falsch ist und druck nicht herum...
    äh..äh..äh... sage es einfach. Kurz und bündig (wennst das schaffst)

    Mir ist es sowieso egal, habe noch kein Problem gehabt (ca. 15 Jahre lang) mit dem Code,
    werde den Code bei mir auch nicht ändern, aber ev. interessiert es den Treadstarter!

    Da bin aber auch nicht mehr so sicher... *Smilie

    Wenn man helfen will, dann sollte man es auch tunlichst tun.
    Anderen Falls sollte man es lassen.

    PS: wenn es der Threadstarter ändern möchte, dann soll er das gerne so machen
    wie du es vorgeschlagen hast.
     
    Kyron9000, 5. Februar 2020
    #9
  10. Na ja Alfred,
    zwischenzeitlich solltest du meine Meinung zu solcher Hilfe kennen.

    Das Ergebnis sind in erster Linie Leute die nicht programmieren können,
    weil sie auch nach Jahren noch wenig verstehen.
    In erster Linie können die dann Code kopieren.
    Wenn die Helfer dann auch noch nicht verstehen, was sie tun potenziert sich das Problem.

    Das ist keine Hilfe, so entstehen unfähige Programmierer.
    Ja, ja ich weiß - nicht jeder will was lernen.
     
    markusxy, 5. Februar 2020
    #10
  11. oooh lieb... aber jetzt ist Schluss gell
     
    Kyron9000, 5. Februar 2020
    #11
  12. Hallo!

    zu
    Code:
    @Alfred:
    Dass du mit dem Code bisher kein Problem gehabt hast, glaube ich dir sofort, da die von Markus angemerkte Zeile keinen Laufzeitfehler auslöst.
    Es wird einfach nur nicht jede Änderung erfasst.
    Ob das nun ein Fehler ist oder nicht - hängt vom erwarteten Verhalten des Änderungsprotokolls ab.

    Beispiel:
    In einem Datenfeld steht anfangs kein Wert (Null). Nun änderst du den Inhalt dieses Datenfeld zu einem Wert. Diese Änderung wird nicht aufgezeichnet, da der -Vergleich mit Null weder True nach False ergibt.

    Zum Testen:
    Code:
    mfg
    Josef
     
    Josef P., 5. Februar 2020
    #12
  13. Änderungen mitprotokollieren

    Hallo Josef,

    danke für deine Antwort und die Erklärung. Also, der erste Datensatz der eingetragen wird, möchte ich auch nicht, dass er eingetragen wird!
    Das wäre ja schlimm... wer braucht denn das. Also ich jedenfalls nicht.
    Erst wenn ein bestehender Eintrag geändert wird, soll es protokolliert werden,
    vorher nicht.
    Das wären ja unzählige DS unnötig.
    Höchstens, es wäre beim ersten Eintrag ein Feld nicht gefüllt.
    Aber, ich sichere doch nur solche Felder die wichtig sind und die sind sicher befüllt, weil's so sein muss...!

    PS: das ist ein gutes Argument, man muss nur deutsch reden *biggrin.gif*
    .
     
    Kyron9000, 5. Februar 2020
    #13
  14. Wenn ein bestehender Wert aus einem Datenfeld entfernt wird, wird das auch nicht aufgezeichnet.
    Anm.: Das hat mit dem Anlegen eines DS nichts zu tun. Das Änderungsprotokoll wird man nur bei Änderungen eines DS und nicht beim Anlegen laufen lassen.

    Die Bedingung, dass nur jene Felder protokolliert werden, die nicht Null sein können, ging aus deinem Beispiel nicht hervor. Dann benötigst du natürlich keine Null-Prüfung.
    So etwas sollte man dann aber meiner Meinung nach unbedingt bei einem Beispiel-Code anmerken, den man als 1:1-Kopierbasis anbietet. (Nicht jeder kann mit Null richtig umgehen.)

    mfg
    Josef
     
    Josef P., 5. Februar 2020
    #14
  15. Servus,
    @josef P. und @Kyron9000,
    wie wäre diese Lösung?

    Code:
    in einem Formular
    Code:
     
    Ohrkester, 5. Februar 2020
    #15
Thema:

Änderungen mitprotokollieren

Die Seite wird geladen...
  1. Änderungen mitprotokollieren - Similar Threads - Änderungen mitprotokollieren

  2. Änderung der Vorlage (zoll in cm), Word App

    in Microsoft Word Hilfe
    Änderung der Vorlage (zoll in cm), Word App: Wichtige Info vorab: Ich nutze Microsoft 365. Ich habe dirket mehrere Fragen. Bei mir öffnet sich immer der Browser, wenn ich Word öffnen möchte. Gibt es eine Möglichkeit, dass sich das neue...
  3. Aktuelles Datum und aktuelle Uhrzeit (System) einfügen wenn Änderungen in einer Zelle stattfinden

    in Microsoft Excel Hilfe
    Aktuelles Datum und aktuelle Uhrzeit (System) einfügen wenn Änderungen in einer Zelle stattfinden: Hallo alle zusammen, ich benötige Hilfe bei Thema aktuelles Datum und aktuelle Uhrzeit. Zu meinem Anliegen: Ich habe in Spalte D2 eine variable Zelle, sprich hier können Benutzer etwas...
  4. Gantt Diagram in KW statt in Tagen

    in Microsoft Excel Hilfe
    Gantt Diagram in KW statt in Tagen: Hallo Zusammen, ich habe ein Gantt Diagramm in Tagen und möchte es gerne in KWs haben. Leider sind die Formeln so verschachtelt, dass ich es trotz mehrstündiger Recherche und ausprobieren nicht...
  5. Excel Wert übernehmen und bei Änderung beibehalten

    in Microsoft Excel Hilfe
    Excel Wert übernehmen und bei Änderung beibehalten: Hallo zusammen Ich habe folgendes Problem: Ich arbeite an einer Liste, wo ich in Spalte H jeweils Zahlen 1-3 von Hand eingebe. Diese werden dann in einem separaten Blatt zusammengezählt. Nun ist...
  6. Textbox aus Combobox nach Änderung befüllen

    in Microsoft Excel Hilfe
    Textbox aus Combobox nach Änderung befüllen: Hallo zusammen Ich habe ein Problem mit dem automatischen befüllen der Textbox. Sobald ich das von mir Fett markierte aktiviere, bekomme ich den Fehler "Die XLookup Eigenschaft des...
  7. Änderung des eigenen Adressennamen

    in Microsoft Outlook Hilfe
    Änderung des eigenen Adressennamen: Hallo, ich wollte gerne auf Outlook wechseln und habe bereits ein MS-Konto. Meine Abonnements sind aber ausgelaufen. Mein derzeitige Outlook-Adresse eine nicht erklärbare Kombination von Zahlen...
  8. Folie duplizieren, nachträgliche Änderungen automatisch auf Duplikate übernehmen

    in Microsoft PowerPoint Hilfe
    Folie duplizieren, nachträgliche Änderungen automatisch auf Duplikate übernehmen: Liebes Forum, gerne möchte ich eine duplizierte Folie so koppeln, so dass Änderungen des Originals, welche zeitlich NACH der Erstellung des Duplikates getätigt werden, automatisch auf die Kopien...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden