[英]SQL UPDATE based on condition
我们需要使用用户ID(NBK)更新表。 带有NBK的表也具有用户状态(0-1),并且一次只有一个用户将具有1。 面临的挑战是#1捕获活动用户#2与用户NBK更新另一个表。 我希望下面的代码只是有一个我找不到的简单Syntex错误?
Dim nb As String
Dim NBK As String
nb = [Employees]![NBK] & "' WHERE "
nb = nb & " " & [Employees]![Status] = '1'
NBK = " Update tbl_DateTracking SET NBK = "
NBK = NBK & "'" & nb & "' WHERE "
NBK = NBK & "CaseId = '" & CaseId & "' AND OCC_Scenario = '" & OCC_Scenario & "' ;"
DoCmd.RunSQL nb
DoCmd.RunSQL NBK
这里有几点注意事项:
但是,使用此给定的架构,您将要使用子选择查询。 例如:
UPDATE tbl_DateTracking SET NBK=(SELECT NBK FROM Employees WHERE Status=1 LIMIT 1) WHERE CaseID=? AND OOC_Scenario=?
然后在通过CaseId
和OOC_Scenario
作为参数。
注意,我对VB或其与SQL的交互方式不熟悉。 上面只是一个示例,您必须将其应用到您的应用程序中并对其进行更改以使其起作用。 您构建和运行嵌套查询的方式似乎也不起作用,因为您的第一个查询不包含命令(我想您可能希望使用SELECT
会使用[]![]
自动执行此操作[]![]
语法?),并将其嵌套在第二个查询中时,它不会被()
包围。 自身运行第一查询也有,如果你包括它作为第二个一个子查询没有影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.