我目前正在 MS Access 中制作案例跟蹤器,但無法讓UPDATE位于子表單中的以下代碼正常作業。我試過谷歌搜索但無濟于事。
所有資料都存盤在一個名為tblCaseTrackerLoad. 該表有 98 列。我還有一個名為的子表單,它使用以下查詢tblBulkAssign subform從內部讀取 5 列(位于“資料”選項卡的“記錄源”欄位中):tblCaseTrackerLoad
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]是/否欄位
tblCaseTrackerLoad.[Case Status]是短文本欄位
tblCaseTrackerLoad.[Customer Name]是短文本欄位
tblCaseTrackerLoad.Account_Key是大數字欄位
tblCaseTrackerLoad.[Case_Owner]是短文本欄位
上面的代碼完美運行,當加載子表單時,我可以看到“案例狀態=待分配”的資料行。這以表格形式顯示。
我試圖在加載子表單時發生什么,用戶勾選“選擇”欄位中的框(他們需要選擇的數量或數量),然后他們單擊一個按鈕,該按鈕加載包含所有用戶的不同表單案件可以分配給。選擇一個用戶,然后執行代碼,并且應該通過更新陳述句將案例分配給用戶,以更新表“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
運行時,我得到的錯誤是“運行時錯誤'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;
以供參考:
txtAssignToFromAssignToUserForm是從表單傳遞的值,用于選擇將案例分配給誰,回傳到此子表單。此框正在成功接收用戶名。AssignedTimeStamp是查詢上方的一段代碼,上面UPDATE寫著Dim AssignedTimeStamp As Date AssignedTimeStamp = Now
盡管tblCaseTrackerLoad.[Date Assigned]子表單中沒有參考該欄位,但它仍然是主表中的有效欄位,tblCaseTrackerLoad并且是“日期/時間”型別。
這肯定是一些我沒有做過的愚蠢的小事,但我已經花了大約。4小時試圖解決這個問題,但似乎無法找到解決方案。
請問有人可以告訴我我哪里出錯了嗎?
uj5u.com熱心網友回復:
在“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;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429071.html
上一篇:在Ms訪問中一鍵洗掉所有表
