【发布时间】:2021-12-06 00:32:51
【问题描述】:
自从我发布以来已经有一段时间了,所以请原谅任何格式问题。希望用同一张表中同一字段中另一条记录的值更新表字段。
我已经声明了两个字符串,并且 strDeal 字符串在调试时返回正确的值。但是,当我将字符串引入 sql 语句时,我无法通过查询来更新字段。我不确定到底是什么工作不正常,因此我们将不胜感激。
基础是我正在尝试根据子查询的返回值使用来自同一表中同一字段的值更新Case_Qty 字段。谢谢!
Dim strDeal As String
Dim strSQL As String
strDeal = DMax("[Deal_No]", "[tblStructuresNoDAworking]", "[Structure_Name] = Forms!frmStructNoDASetup!Structure_Name AND [FG_Ind] = 0 AND [Deal_No] < Forms!frmStructNoDASetup!Deal_No")
strSQL = "UPDATE tblStructuresNoDAworking SET tblStructuresNoDAworking.Case_Qty = (SELECT [Case_Qty] FROM tblStructuresNoDAworking WHERE [Structure_Name] = '" & Me.Structure_Name.Value & "' AND [Deal_No] = '" & strDeal & "') WHERE [Structure_Name] = '" & Me.Structure_Name.Value & "' AND [Deal_No] = '" & Me.Deal_No.Value & "'"
DoCmd.RunSQL (strSQL)
【问题讨论】:
-
How to debug dynamic SQL in VBA -- 1) 将
strSQL的内容添加到您的问题中,2) 添加在查询中运行该 SQL 时收到的错误消息。
标签: sql vba ms-access ms-access-2016