Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Von Datensätzen bei Änderung ein Backup anlegen
zurück: Grafik in Access erstellen weiter: Beschriftung einer Textbox aus einer Tabelle beziehen. Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast



Verfasst am:
03. Jul 2004, 12:50
Rufname:

Von Datensätzen bei Änderung ein Backup anlegen - Von Datensätzen bei Änderung ein Backup anlegen

Nach oben
       

ich habe ein problem, ein ganz gewaltiges. ich habe eine tabelle (tblCars)mit foldende feldnamen:

IDCar, Fahrzeugmodell, Fahrzeuggeneration, SOP, EOP, Kommentar. diese tabelle wird durch ein formular dargestellt. wenn nun änderungen am datensatz vorgenommen werden, soll der alte nicht einfach überschrieben sondern als backup in einer separaten tabelle (ich habe ne kopie der tabelle gemacht; tblCars_Histroy )zur verfügung stehen. ich bekomm das nicht hin.

Ich bin mir aber sicher, dass ich es im formular unter "vor aktualiseren" sowie die funktion "if me.dirty" benötigt wird. kann mir bitte jemand die lösung beibringen?
Willi Wipp
Moderator


Verfasst am:
03. Jul 2004, 14:09
Rufname:
Wohnort: Raum Wiesbaden


Re: Von Datensätzen bei Änderung ein Backup anlegen - Re: Von Datensätzen bei Änderung ein Backup anlegen

Nach oben
       

Hi Gast,

ueber den Sinn eines Backups bei jeder DS-Aenderung kann man zwar streiten, aber ich versuch es mal:
In der Tabelle tblCars_Histroy sollte es ein zusaetzliches Datumsfeld z.B. DtChanged
mit dem Standardwert Jetzt() (Now()) anlegen um den Zeitpunkt der Aenderung zu dokumentieren.
In der Tabelle tblCars_Histroy darf das Feld IDCar nicht vom Datentyp Autowert sein!
Auch die anderen Felder (die kopiert werden) duerfen keinen eindeutigen Index,
in der Tabelle tblCars_Histroy enthalten, sonst kann nur je ein DS angefuegt werden!
Dann kannst Du eine globale Prozedur anlegen, die eine Anfuege-Abfrage aufruft.
In dieser Anfuege-Abfrage setzt Du entwerder als Kriterium [Formulare]![DeinFormular]![IDCar]
oder Du baust die Abfrage als SQL-String in VBA auf.
Code:
Option Compare Database
Option Explicit

Public Sub Backup_Data(lIDCar As Long)
    Dim sSQL    As String
   
    sSQL$ = "INSERT INTO tblCars_Histroy " & _
            "SELECT      * " & _
            "FROM        tblCars " & _
            "WHERE       IDCar = " & lIDCar&
    CurrentDb.Execute sSQL$
End Sub
Wenn Du die Funktion als globale Funktion erstellst (Modul aber nicht Formular oder Berichts-Modul)
kannst Du sie auch von anderen Modulen/Abfragen aus aufrufen!
Im Formular kannst Du dann bei dem Ereigniss Vor Aktualisierung (BeforeUpdate) folgendes machen
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Not Me.NewRecord Then Backup_Data Me!IDCar
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

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


Zuletzt bearbeitet von Willi Wipp am 05. Jul 2004, 17:48, insgesamt einmal bearbeitet
Gast



Verfasst am:
03. Jul 2004, 20:20
Rufname:

AW: Von Datensätzen bei Änderung ein Backup anlegen - AW: Von Datensätzen bei Änderung ein Backup anlegen

Nach oben
       

hallo

danke für deine antwort. ich habe mich unglücklich ausgedrückt. genauer gesagt habe ich insgesamt 8 tabellen, die in insgesamt 4 formularen mit den jeweiligen unterformularen dargestellt werden. ich habe also insgesamt 8 history tabellen, in denen jeweils der zustand bevor sie überschrieben wurden gespeichert werden soll. ich benötige also einen code, den ich in die 8 formulare einbinde und an das jeweilige formular bzw. zugehörige tabelle anpasse.

zur tabelle cars, dort habe ich bereits ein user, date sowie time feld eingebaut.
Willi Wipp
Moderator


Verfasst am:
05. Jul 2004, 17:47
Rufname:
Wohnort: Raum Wiesbaden


Re: Von Datensätzen bei Änderung ein Backup anlegen (II) - Re: Von Datensätzen bei Änderung ein Backup anlegen (II)

Nach oben
       

Hi Gast,

dann passen wir die Prozedur entsprechend an
Code:
Option Compare Database
Option Explicit

Public Sub Backup_Data(sTable As String, sID As String, lID As Long)
    Dim sSQL    As String
   
    sSQL$ = "INSERT INTO " & sTable$ & "_Histroy " & _
            "SELECT      * " & _
            "FROM        " & sTable$ & " " & _
            "WHERE       " & sID$ & " = " & lID&
    CurrentDb.Execute sSQL$
End Sub

Der Aufruf der Prozedur sieht dann z.B. bei der Tabelle tblCars so aus
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Not Me.NewRecord Then Backup_Data "tblCars", "IDCar", Me!IDCar
End Sub

_________________
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

Diese Seite Freunden empfehlen

Seite 1 von 1
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: Selektieren von Datensätzen mit dem aktuellsten Wert 13 Giacomo 1735 02. März 2007, 15:06
Willi Wipp Selektieren von Datensätzen mit dem aktuellsten Wert
Keine neuen Beiträge Access Tabellen & Abfragen: Zufallsauswahl einer vorgegebenen Anzahl von Datensätzen 4 koi 1971 11. Dez 2006, 16:26
koi Zufallsauswahl einer vorgegebenen Anzahl von Datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: Änderung bei verknüpften Daten weitergeben 1 kasper 494 23. Nov 2006, 10:46
rita2008 Änderung bei verknüpften Daten weitergeben
Keine neuen Beiträge Access Tabellen & Abfragen: Summieren von Datensätzen aus mehreren Tabellen 1 ripper_2001 789 13. Sep 2006, 11:23
rita2008 Summieren von Datensätzen aus mehreren Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Änderung im Kombinationsfeld 7 Gast1001 721 31. Aug 2006, 16:09
heirnele Änderung im Kombinationsfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrfache Ausgabe von Datensätzen bei Mittelwert 1 Hiwi 596 13. Jun 2006, 20:34
Hiwi Mehrfache Ausgabe von Datensätzen bei Mittelwert
Keine neuen Beiträge Access Tabellen & Abfragen: Probleme in den Datensätzen 2 Gast 482 01. Jun 2006, 13:44
barsdesign Probleme in den Datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: Änderung Std.Lohn ab Datum xy erfassen 1 Gast 701 01. Feb 2006, 21:16
accessmichel Änderung Std.Lohn ab Datum xy erfassen
Keine neuen Beiträge Access Tabellen & Abfragen: Zuweisung von Datensätzen in Tabelle anhand Variable 3 Nuuby 823 09. Dez 2005, 15:58
Willi Wipp Zuweisung von Datensätzen in Tabelle anhand Variable
Keine neuen Beiträge Access Tabellen & Abfragen: Differenzen zwischen einzelnen Datensätzen 8 Kirk 928 21. Okt 2005, 15:29
Kirk Differenzen zwischen einzelnen Datensätzen
Keine neuen Beiträge Access Tabellen & Abfragen: Änderung der Währung von DM auf EUR 4 p00h 791 04. Okt 2005, 14:25
p00h Änderung der Währung von DM auf EUR
Keine neuen Beiträge Access Tabellen & Abfragen: Suche in Datensätzen 12 power-user 728 07. Aug 2005, 11:52
power-user Suche in Datensätzen
 

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