|
こんにちは。
下記のようなコードでtbl_STAFFの更新のテストをしています。ところが、実行はできるのですがテスト後のtbl_STAFFを削除しようとすると次のメッセージが出て削除できません。「テーブル'tbl_STAFF'は現在ほかのユーザまたはプロセスで使用されているのでロックできませんでした」
似たようなケースで他のテーブルを消したことがありますがこのようなメッセージが出たことはありません。下記コードの中に、プロセスが完了した、という記述がなにか必要なのでしょうか?
どなたかご教示いただけると助かります。
Private Sub btnExecute_Click()
If DirtyFlg = 1 Then
Dim strCriteria
Dim strConn
strCriteria = "UPDATE tbl_STAFF SET "
strConn = ""
If IsNull(StaffName1) = False Then
strCriteria = strCriteria & "staff_name = '" & [Forms]![F_ModStaff]![StaffName1] & "' "
strConn = ", "
End If
If IsNull(EmpDate1) = False Then
'**シングルクォーテーション追加
strCriteria = strCriteria & strConn & "Emp_Start_Date = '" & [Forms]![F_ModStaff]![EmpDate1] & "' "
strConn = ", "
End If
If IsNull(AssDate1) = False Then
strCriteria = strCriteria & strConn & "CR_Start_Date = '" & [Forms]![F_ModStaff]![AssDate1] & "' "
strConn = ", "
'**ここまで
End If
If IsNull(flgUnitID) = False Then
strCriteria = strCriteria & strConn & "Attached_Unit_Num = " & [Forms]![F_ModStaff]![flgUnitID] & " "
strConn = ", "
End If
If IsNull(Status1) = False Then
strCriteria = strCriteria & strConn & "Staff_Status = '" & [Forms]![F_ModStaff]![Status1] & "' "
End If
strCriteria = strCriteria & "WHERE staff_id = " & [Forms]![F_ModStaff]![flgStaffID] & ";"
DoCmd.RunSQL strCriteria
Else
MsgBox "No Need to Change"
Exit Sub
End If
Me!DirtyFlg = 0
Me!flgUnitID = Null
Me!StaffName1 = Null
Me!EmpDate1 = Null
Me!AssDate1 = Null
Me!Status1 = Null
Me!UnitName = Null
Me!StaffName = Null
Me!EmpDate = Null
Me!AssDate = Null
Me!Status = Null
MsgBox "Save Completed"
End Sub
|
|