问题
I need to update an existing record in a table.
I have been trying two different methods but can't see what I am missing:
First attempt was:
CurrentDb.Execute "UPDATE [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblengagement & "] SET [Close_Time] = #" & Time & "#, WHERE ID = '" & SessionID & "'"
Second attempt:
CurrentDb.Execute " UPDATE [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblengagement & "] " _
& "(Close_Time) VALUES " _
& "(#" & Time & "#)" _
' & "WHERE ID = '" & SessionID & "';"
Error Received: Syntax error
UPDATE OF MY CODE:
Dim strPassword As String
Dim DBpath As String
Dim DBname As String
Dim tblengagement As String
DBpath = "C:\Projects"
DBname = "Data.accdb"
strPassword = "1234"
tblengagement = "tbl_engagement"
'CurrentDb.Execute " UPDATE [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblengagement & "] " _
' & "(Close_Time) VALUES " _
' & "(#" & Time & "#)" _
' & "WHERE ID = '" & SessionID & "';"
回答1:
Correct code:
CurrentDb.Execute "UPDATE [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblengagement & "] " _
& "SET [Close_Time] = #" & Time & "# WHERE ID = '" & SessionID & "';"
What the problem was: I had left a , in my code, once removed it worked fine
来源:https://stackoverflow.com/questions/48280597/access-sql-update-record