Hallo Zusammen,
ich versuche in meiner Datenbank festzuhalten, wann und wer zuletzt was bearbeitet hat.
dazu verwende ich folgendes Modul:
Option Compare Database
Dim user As String
Dim strSQL As String
Dim db As Database
Public Sub LastEdit(tblName As String, id As Integer, id_name As String)
Set db = CurrentDb
strSQL = "UPDATE '" & tblName & "'" & _
" SET [User] = '" & user & "', [Updated] = Date()" & _
" WHERE '" & [id_name] & "' = " & id
db.Execute (strSQL)
End Sub
ich bekomme den Fehlercode 3450: Syntax error in query. Incomplete query clause.
Besten Dank!
Hallo,
das kann ja nicht stimmen.
id als Zahl und id_name als String und in der Where Klausel vergleichst Du dann den String mit der Zahl.
Was ist das für eine ID ?
Was steht in id_name ?
hinter id_name soll der Spalten Name stehen und hinter id die ID der Zeile für welche der "Last Edit" eingetragen werden soll.
Hallo,
hinter id_name soll der Spalten Name
wieso Spaltenname, das kann auch nicht stimmen.
Was steht in den beiden Spalten, in id_name kann ja unmöglich der Spaltenname stehen.
Bezieht sich das auf den User ?
Bitte bemühe Dich das mal sorgfältiger zu erklären.
Also,
in Spalte 1 (Spaltenname ist ID) steht in jeder Spalte eine ID vom Typ Integer.
Ich möchte jetzt, wenn jemand einen Wert in einer Zeile/ einem Record ändert, in der selben Zeile festhalten wer dies tat und wann. Das soll in den Spalten mit den Namen (User) und (Updated) passieren.
Dabei sind Einträge in der Spalte User vom Typ String und in Spalte Updated vom Typ Date.
Verständlicher?
Hallo,
nein, nicht verständlicher, im Gegenteil, noch verwirrender. Die ID bezieht die sich auf den User oder wessen ID ist das ?
Im Grunde kannst Du Dir das Update aber ohnehin sparen, denn Du musst nur im Formularereignis "Nach Aktualisierung" den beiden Feldern einfach Datum und User zuweisen.