Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
222 views
in Technique[技术] by (71.8m points)

vba - Access SQL Update record

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 & "';"
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...