使用DLookup跟踪用户

时间:2012-09-10 16:16:46

标签: vba

此代码将使用活动用户ID(NBK)更新表(tbl_DateTracking),并根据两个值CaseIDOCC_Scenario更新记录。

以下是问题:我们只想将id添加到正在记录的当前记录中。问题是所有具有CaseID / OCC_Scenario的记录都会使用用户ID进行更新。换句话说,旧记录正在改变。

任何人都可以看到要添加到此代码中的内容:只显示此当前记录,添加id ???

If IsNull(DLookup("[NBK]", "Employees", "[Status]=1")) Then
Retval = MsgBox("Login information not found - Please choose your role manually", vbOKOnly, "Login Error")
     Else
log = DLookup("[NBK]", "Employees", "[Status]=1")

SQLnbk = " Update tbl_DateTracking SET NBK = "
SQLnbk = SQLnbk & "'" & log & "' WHERE "
SQLnbk = SQLnbk & "CaseId = '" & CaseId & "' AND OCC_Scenario = '" & OCC_Scenario & "';"
End If
DoCmd.RunSQL SQLnbk

1 个答案:

答案 0 :(得分:0)

您似乎正在更新表单中的记录。您可以参考表单上的控件,例如:

If IsNull(DLookup("[NBK]", "Employees", "[Status]=1")) Then
   Retval = MsgBox( _
      "Login information not found - Please choose your role manually", _
      vbOKOnly, "Login Error")
Else
   log = DLookup("[NBK]", "Employees", "[Status]=1")
   Me.txtNBK=log

结束如果

如果您使用的是查询,则需要一个唯一的ID。例如:

SQLnbk = " Update tbl_DateTracking SET NBK = "
SQLnbk = SQLnbk & "'" & log & "' WHERE "
SQLnbk = SQLnbk & "UniqueID = " & Me.UniqueID

<...>
CurrentDB.Execute SQLnbk, dbFailOnError