我无法使用此 MS Access SQL UPDATE 语句

I can't get this MS Access SQL UPDATE statement to work

我目前正在 MS Access 中制作案例跟踪器,但无法使位于子表单中的以下 UPDATE 代码正常工作。我试过谷歌搜索但无济于事。

所有数据都存储在名为 tblCaseTrackerLoad 的主 table 中。 table 中有 98 列。我还有一个名为 tblBulkAssign subform 的子表单,它使用以下查询(位于“数据”选项卡的“记录源”字段中)从 tblCaseTrackerLoad 中的 5 列中读取:

SELECT tblCaseTrackerLoad.[Select], tblCaseTrackerLoad.[Case Status], tblCaseTrackerLoad. 
[Customer Name], tblCaseTrackerLoad.Account_Key, tblCaseTrackerLoad.[Case_Owner] FROM 
tblCaseTrackerLoad WHERE (((tblCaseTrackerLoad.[Case Status])="To be assigned"));

字段类型如下:

tblCaseTrackerLoad.[Select] 是一个 Yes/No 字段
tblCaseTrackerLoad.[Case Status] 是短文本字段
tblCaseTrackerLoad.[Customer Name] 是短文本字段
tblCaseTrackerLoad.Account_Key 是大数字段
tblCaseTrackerLoad.[Case_Owner] 是短文本字段

以上代码运行良好,当加载子表单时,我可以看到“Case Status = To Be Assigned”所在的数据行。这以 table 格式显示。

我试图在加载子表单时发生的事情,用户在 Select 字段中勾选框(根据需要多选或少选) select),然后他们单击一个按钮,该按钮加载一个不同的表单,其中包含案例可以分配给的所有用户。用户被 selected 然后代码执行并且应该通过更新语句将案例分配给用户以更新 table“tblCaseTrackerLoad”。

这是我执行 UPDATE 语句的代码:

strSQL = "UPDATE tblCaseTrackerLoad SET [Case_Owner] = " & "'" & 
txtAssignToFromAssignToUserForm & "'" & ", [Case Status] = ""Assigned"", tblCaseTrackerLoad. 
[Date Assigned] = " & Assigned Timestamp & ", WHERE [Select] = Yes AND [Case_Owner] IS NULL;"

Debug. Print strSQL

' Execute the SQL Command
DoCmd.RunSQL strSQL

当 运行 时,我得到的错误是“运行-Time error '3144': UPDATE 语句中的语法错误。”

这是调试的输出。打印

UPDATE tblCaseTrackerLoad SET [Case_Owner] = 'Craig Hogan', [Case Status] = "Assigned", tblCaseTrackerLoad.[Date Assigned] = 10/02/2022 07:36:13, WHERE [Select] = Yes AND [Case_Owner] IS NULL;

供参考:

  1. txtAssignToFromAssignToUserForm 是从表单传递给 select 将案例分配给谁的值,返回到此子表单。此框正在成功接收用户名。

  2. AssignedTimeStampUPDATE 查询上方的一段代码,上面写着 Dim AssignedTimeStamp As Date AssignedTimeStamp = Now

尽管 tblCaseTrackerLoad.[Date Assigned] 字段未在子表单中引用,但它在主 table tblCaseTrackerLoad 中仍然是一个有效字段,并且类型为“Date/Time” .

这肯定是一些愚蠢的小事,我没有做过,但我已经花了大约。现在花了 4 个小时试图解决这个问题,但似乎找不到解决方案。

有人可以告诉我哪里做错了吗?

“WHERE”子句前有一个逗号。删除那个逗号。

UPDATE tblCaseTrackerLoad 
SET [Case_Owner] = 'Craig Hogan', [Case Status] = "Assigned", tblCaseTrackerLoad.[Date Assigned] = 10/02/2022 07:36:13
WHERE [Select] = Yes AND [Case_Owner] IS NULL;