我们需要使用用户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
答案 0 :(得分:0)
这里有几点需要注意:
但是,使用此给定的架构,您将需要使用子选择查询。例如:
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
,我想。 VB是否使用[]![]
语法自动执行此操作?),当您将其嵌套在第二个查询中时,它不会被()
包围。如果您将其作为子查询包含在第二个查询中,则单独运行第一个查询也无效。