1

CaseIDこのコードは、アクティブユーザーID(NBK)でテーブル(tbl_DateTracking)を更新し、2つの値とに基づいてレコードを更新しますOCC_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
4

1 に答える 1

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
于 2012-09-11T18:41:30.267 に答える