CreationTS im Access erstellen
Morgen Leute
Ich will ein Erstellungsdatum und ein Änderungsdatum in meiner Datenbank hinzufügen.
Soweit hät ich es im Code so eingetragen:
Jetzt mein Problem:
das Änderungsdatum tragt er in der Tabelle problemlos ein, allerdings das Erstellungsdatum nicht.
Könnt ihr mir helfen?
mfg Fabi
Ich will ein Erstellungsdatum und ein Änderungsdatum in meiner Datenbank hinzufügen.
Soweit hät ich es im Code so eingetragen:
Private Sub Form_AfterUpdate()
On Error GoTo err_AfterUpdate
DoCmd.SetWarnings False
If Me.NewRecord = True Then
DoCmd.RunSQL "UPDATE tbl_Picture SET createTS = '" & Now() & "', createUser = '" & CurUSR & "' WHERE ID = " & Me.txtID.Value
Else
DoCmd.RunSQL "UPDATE tbl_Picture SET changeTS = '" & Now() & "', changeUser = '" & CurUSR & "' WHERE ID = " & Me.txtID.Value
DoCmd.SetWarnings True
End If
err_AfterUpdate:
Exit Sub
End Sub
Jetzt mein Problem:
das Änderungsdatum tragt er in der Tabelle problemlos ein, allerdings das Erstellungsdatum nicht.
Könnt ihr mir helfen?
mfg Fabi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 171750
Url: https://administrator.de/contentid/171750
Ausgedruckt am: 05.11.2024 um 23:11 Uhr
10 Kommentare
Neuester Kommentar
Hast Du getestet ob das Programm bis zu Deinem DoCmd.RunSQL kommt?
Wenn in der funktionierenden Routine das Änderungsdatum geschrieben wird muss Dein SQL-String ja korrekt sein. Wenn dann die DB-Felder für Create auch sinngemäß genauso aussehen wie für Änderungen müsste das für die Neuanlage ja übertragbar sein.
ZumTesten vielleicht auch mal "DoCmd.SetWarnings False " weglassen oder auf True setzen.
Und/oder nochmal die Routine posten.
Henning
Wenn in der funktionierenden Routine das Änderungsdatum geschrieben wird muss Dein SQL-String ja korrekt sein. Wenn dann die DB-Felder für Create auch sinngemäß genauso aussehen wie für Änderungen müsste das für die Neuanlage ja übertragbar sein.
ZumTesten vielleicht auch mal "DoCmd.SetWarnings False " weglassen oder auf True setzen.
Und/oder nochmal die Routine posten.
Henning
Du kannst jetzt natürlich aufgeben, aber scheinbar wärst Du ja fast am Ziel.
Wenn er mit der WHERE-Clause nichts macht, aber ohne WHERE alle Sätze updated muss die WHERE-Clause der Fehler sein. Dann muss eigentlich "Me.txtID.Value" anders sein als Du es erwartest, wahrscheinlich noch ohne Wert.
Aber wenn ich mir das ganze so überlege, gehts wahrscheinlich gar nicht so, weil der Datensatz zu dem Zeitpunkt noch gar nicht in der Datenbank steht und damit das Update ins Leere läuft.
Mach es doch einfach ohne SQL, also
Me.createTS = now
Me.createUser = CurrentUser
Wobei die beiden Felder (unsichtbar) in dem Formular stehen müssten
Henning
Wenn er mit der WHERE-Clause nichts macht, aber ohne WHERE alle Sätze updated muss die WHERE-Clause der Fehler sein. Dann muss eigentlich "Me.txtID.Value" anders sein als Du es erwartest, wahrscheinlich noch ohne Wert.
Aber wenn ich mir das ganze so überlege, gehts wahrscheinlich gar nicht so, weil der Datensatz zu dem Zeitpunkt noch gar nicht in der Datenbank steht und damit das Update ins Leere läuft.
Mach es doch einfach ohne SQL, also
Me.createTS = now
Me.createUser = CurrentUser
Wobei die beiden Felder (unsichtbar) in dem Formular stehen müssten
Henning