Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Geänderte Datensätze dokumentieren
Gehe zu Seite Zurück  1, 2, 3, 4, 5 ... , 16, 17, 18, 19, 20  Weiter
zurück: MPG Play Button weiter: Packliste zum Wandern in Access erstellen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Diskussion Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Dave810
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Sep 2009, 14:56
Rufname:
Wohnort: Heidelberg

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Ja, das liegt daran dass ich in dem Moment die Zeile
Code:
    DoCmd.RunCommand acCmdSaveRecord
in gebäude AfterUpdate() auskommentiert hatte um was auszuprobieren.
D.h. der Laufzeitfehler würde auch bei dem Textfeld mb_gebäude auftauchen.

Soll ich den kompletten Code aus 'Historie der Datensätze' für mein Änderungsprotokoll nehmen? Oder nur das hier:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Aenderungsprotokoll(Me!VertragAllgemeinID, Me)
End Sub

@Willi Wipp: Was meins du mit 'im Direktfenster ausgeben lassen'?

Grüße
David
Willi Wipp
Moderator


Verfasst am:
15. Sep 2009, 16:36
Rufname:
Wohnort: Raum Wiesbaden


Re: Geänderte Datensätze dokumentieren (LIX) - Re: Geänderte Datensätze dokumentieren (LIX)

Nach oben
       

Hi Dave810,

im Direktbereich (Strtg+G; Testfenster) kann man sich beim Debuggen den aktuellen Wert von Objekten ausgeben lassen.
Code:
? varDeineVariable
123

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
jens05
Moderator


Verfasst am:
15. Sep 2009, 17:03
Rufname:
Wohnort: ~~~~~

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
neben der Änderung, das die Prozeduren bei den Feldern entfernt werden müssen, müsstest du die andere Funktion "Aenderungsprotokoll" übernehmen und nur noch die eine Prozedur im Ereignis "Vor Aktualisierung" des Formulares verwenden.
Die Funktion prüft selbstständig welche Felder geändert wurden.

_________________
mfg jens05 Wink
Gast



Verfasst am:
15. Sep 2009, 19:22
Rufname:

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hey Jens,

ich habe nun den anderen Code bei mir eingebaut, nur tut sich nichts, da muss irgendwas ziemlich verkehrt sein. Und denke auch dass er ein Problem hat meine Inventarnummer im "VALUES"-Bereich der Anfügebafrage zu erkennen.

Könntest du nochmal drüberschauen?
Code:
Public Function Aenderungsprotokoll(mb_inv_nr As Long, _
                                    Form_frm_eingabe As Form) As Boolean
On Error Resume Next
    Dim ctl As Control
    Dim curDate As String
    Dim feldname As String
   
    curDate = CDate(Format(Now, "dd.mm.yy hh:mm:ss"))
    For Each ctl In Form_frm_eingabe.Controls
        If ctl.ControlType = acTextBox Or _
           ctl.ControlType = acComboBox Then
            If Nz(ctl) <> Nz(ctl.OldValue) Then
                DBEngine(0)(0).Execute _
                    "INSERT INTO tbl_aenderungen " & _
                           "(ae_inv_nr, ae_feldname, ae_wert_alt, " & _
                            "ae_wert_neu, ae_datum, ae_benutzer) " & _
                    "VALUES (" & mb_inv_nr.Value & ", 'feldname', " & _
                            "'" & ctl.OldValue & "', '" & ctl & "', " & _
                            "'" & curDate & "', 'benutzer')", dbFailOnError
            End If
        End If
    Next ctl
    If Err <> 0 Then
        MsgBox "Archivierfunktion fehlerhaft, Änderung nicht möglich"
        Aenderungsprotokoll = True
      Else
        Aenderungsprotokoll = False
    End If
End Function
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Aenderungsprotokoll(Me!mb_inv_nr, Me)
End Function
Was ich vor allem nicht verstanden habe: Was bezweckt oben mit
Code:
mb_inv_nr As Long,
und auch bei der BeforeUpdate Prozedur, was macht dort das mb_inv_nr?

Gruß
David
jens05
Moderator


Verfasst am:
15. Sep 2009, 20:11
Rufname:
Wohnort: ~~~~~


AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
das mb_inv_nr beherbergt deine eindeutige Datensatz-ID, damit im Änderungsprotokoll die Änderungen einem Datensatz zugeordnet werden.
Wieso formatierst du das Datum so ?
Die Funktion hättest du einfach 1:1 übernehmen können, nur mit der Anpassung der Feldnamen und des Tabellennamen der Protokolltabelle.
Wieso hast du das Value dahinter geschrieben?

Falls es nicht geht, stelle doch einfach mal deine DB als Beispiel online.

_________________
mfg jens05 Wink
Dave810
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Sep 2009, 16:20
Rufname:
Wohnort: Heidelberg

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Dave810 am 18. Sep 2009 um 20:15 hat folgendes geschrieben:
Hallo Jens,

ich dachte das Value muss dazu...
Habe das jetzt nochmal ausprobiert, aber ich bekomme es nicht hin.
Sobald ich Dateien hochladen kann (Ich warte noch auf die Bestätigungs-E-Mail)
lade ich meine DB mal hoch. Unter dem Formular frm_eingabe findest du im Code die entsprechende Änderungsprozedur.
Wäre nett wenn du mal reinschauen könntest.

Grüße
David

Hallo,

so hier meine Datenbank...

Grüße
David



moebel-db_test.rar
 Beschreibung:

Download
 Dateiname:  moebel-db_test.rar
 Dateigröße:  493.66 KB
 Heruntergeladen:  26 mal

jens05
Moderator


Verfasst am:
21. Sep 2009, 20:30
Rufname:
Wohnort: ~~~~~

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
sieh dir mal die Anpassungen im Form an

_________________
mfg jens05 Wink



moebel-db_test.zip
 Beschreibung:

Download
 Dateiname:  moebel-db_test.zip
 Dateigröße:  108.36 KB
 Heruntergeladen:  82 mal

Gast



Verfasst am:
22. Sep 2009, 13:40
Rufname:

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo Jens,

hab den Code ausprobiert, er funktioniert astrein!

Vielen, vielen Dank, du warst meine Rettung.
Danke auch für die anderen Code-Optmierungen

Grüße
David
Thomas1966
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Apr 2010, 15:49
Rufname:

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       Version: Office XP (2002)

hallo liebes forum,

ich bin gestern auf diesen topic gestossen, und nachdem ich soetwas schon lange gesucht habe gleich in meine db integriert - funktioniert auch alles super bis auf eine
kleinigkeit: ich ändere in einem meiner formulare den "liefertermin" - wenn ich den mit der hand überschreibe ist alles in ordnung - wenn ich das lieferdatum aber über einen "spin-button" ändere gehts leider nicht mehr, sprich es wird kein änderungseintrag erstellt - hat jemand eine idee woran das liegt bzw. wie man das ändern könnte??

dankeschön im voraus!!
jens05
Moderator


Verfasst am:
14. Apr 2010, 20:26
Rufname:
Wohnort: ~~~~~

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
welche der vielen Varianten hast du genutzt? Smile
Was macht das Coding hinter deinem Spinbutton?

_________________
mfg jens05 Wink
Gast



Verfasst am:
16. Apr 2010, 08:04
Rufname:

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

hallo jens05,

vielen dank für deine antwort!!

hier der code den ich verwende:
Code:
Option Compare Database
Option Explicit

Public Function Aenderungsprotokoll(lfposnr As Long) As Boolean
    Dim xAlt As String
    Dim xNeu As String
    Dim XFeldName As String
    Dim FNAME As String
    Dim FCONTROL As String
    Dim frm As Form
    Dim ctl As Control
   
    Set frm = Screen.ActiveForm
    Set ctl = Screen.ActiveControl
    XFeldName = ctl.Name
    xNeu = Nz(ctl)
    xAlt = Nz(ctl.OldValue)
    If xNeu <> xAlt Then
        DBEngine(0)(0).Execute _
            "INSERT INTO T_Änderungen" _
                & " (am, von, FeldName,alterWert, neuerWert, LFPOSNR)" _
         & " VALUES (Now(), '" & Environ("Username") & "', " _
                  & "'" & XFeldName & "', '" & xAlt & "', '" & xNeu & "', " _
                  & "'" & lfposnr & "')"
            Aenderungsprotokoll = False
          Else
            Aenderungsprotokoll = True
        End If
End Function
das ist bei dem feld liefertermin hinterlegt:
Code:
Private Sub LIEFERTERMIN_AfterUpdate()
    DoCmd.RunCommand acCmdSaveRecord
End Sub

Private Sub LIEFERTERMIN_BeforeUpdate(Cancel As Integer)
    Cancel = Aenderungsprotokoll(Me.lfposnr)
End Sub

direkt beim spinbutton ist nicht hinterlegt - da gibts ja nur die ereignisse bei ole aktualisierung, beim hingehen, beim verlassen, bei fokuserhalt bzw. verlust -
aber direkt im code für das formular steht:
Code:
Private Sub SpinButton3_SpinDown()
    Dim A
    Dim B
   
    A = Me.LIEFERTERMIN
    B = 1
    Me.LIEFERTERMIN = A - B
End Sub

Private Sub SpinButton3_SpinUp()
    Dim A
    Dim B

    A = Me.LIEFERTERMIN
    B = 1
    Me.LIEFERTERMIN = A + B
End Sub
kannst du damit was anfangen??
lg thomas
jens05
Moderator


Verfasst am:
16. Apr 2010, 20:23
Rufname:
Wohnort: ~~~~~

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
versuche es mal bei Ereignis "Bei Fokusverlust" des Spinbutton hiermit
Code:
Private Sub SpinButton3_LostFocus()
    LIEFERTERMIN_BeforeUpdate 0
    LIEFERTERMIN_AfterUpdate
End Sub

_________________
mfg jens05 Wink
Thomas1966
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Apr 2010, 08:06
Rufname:

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

hallo jens05,

danke für deine neuerliche antwort und entschuldige bitte das ich mich erst jetzt melde aber ich hatte übers we keine möglichkeit ins internet einzusteigen.

nein-geht leider auch nicht, nach wie vor das selbe problem: beim manuellen überschreiben des liefertermins passt alles, bei änderung über den spinbutton wird leider kein eintrag erstellt:-(((
hast du vielleicht noch eine idee??
mfg thomas
jens05
Moderator


Verfasst am:
19. Apr 2010, 19:57
Rufname:
Wohnort: ~~~~~

AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

Hallo,
ich hatte das eigentlich getestet. Confused

Ein Beipiel deiner DB kannst du nicht zeigen?

_________________
mfg jens05 Wink
Thomas1966
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Apr 2010, 09:00
Rufname:


AW: Geänderte Datensätze dokumentieren - AW: Geänderte Datensätze dokumentieren

Nach oben
       

hallo jens05,

tut mir leid das es etwas gedauert hat, aber ich musste mich erst anmelden um hier etwas hochzuladen.
danke dir nochmal für dein hilfeangebot und hoffe das es doch noch eine lösung gibt - beispiel-db ist im anhang

mfg
thomas
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3, 4, 5 ... , 16, 17, 18, 19, 20  Weiter
Diese Seite Freunden empfehlen

Seite 18 von 20
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: M:N Beziehungen um alle Datensätze zu sehen? 3 zuperwoman 687 04. Jul 2005, 10:46
stpimi M:N Beziehungen um alle Datensätze zu sehen?
Keine neuen Beiträge Access Tabellen & Abfragen: Reduzierung mehrerer Datensätze auf einen Datensatz 2 Pulldown 819 03. Jun 2005, 09:32
Pulldown Reduzierung mehrerer Datensätze auf einen Datensatz
Keine neuen Beiträge Access Tabellen & Abfragen: Datensätze paarweise berechnen? 4 adiag 883 21. Mai 2005, 22:28
adiag Datensätze paarweise berechnen?
Keine neuen Beiträge Access Tabellen & Abfragen: Filtere alle Datensätze ab der 3 Stelle die nicht PC heißen? 7 centerguide 1302 18. Mai 2005, 11:39
centerguide Filtere alle Datensätze ab der 3 Stelle die nicht PC heißen?
Keine neuen Beiträge Access Tabellen & Abfragen: Datensätze zusammenfassen 1 Tatanka 1121 29. Apr 2005, 14:52
jens05 Datensätze zusammenfassen
Keine neuen Beiträge Access Tabellen & Abfragen: Aus 1 Datensatz mit 10 Infos mache 10 Datensätze à 1 Info 2 Steve 914 14. Jan 2005, 00:43
Steve Aus 1 Datensatz mit 10 Infos mache 10 Datensätze à 1 Info
Keine neuen Beiträge Access Tabellen & Abfragen: multiplizieren zweier verschiedener Datensätze 3 Stara 913 13. Jan 2005, 20:36
Skogafoss multiplizieren zweier verschiedener Datensätze
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage um doppelte Datensätze zu ermitteln? 5 tom444 5066 14. Dez 2004, 23:49
Skogafoss Abfrage um doppelte Datensätze zu ermitteln?
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze anzeigen? 3 MichaelB 1122 19. Okt 2004, 12:45
lothi Anzahl der Datensätze anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Einmalige Datensätze löschen 18 frankkugler 1614 18. Okt 2004, 15:33
frankkugler Einmalige Datensätze löschen
Keine neuen Beiträge Access Tabellen & Abfragen: leere Datensätze löschen 3 umbroboy 2666 07. Okt 2004, 16:51
Skogafoss leere Datensätze löschen
Keine neuen Beiträge Access Tabellen & Abfragen: datensätze suchen 13 mr@ 1514 13. Sep 2004, 10:21
meyster datensätze suchen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps