Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルテーブルロック(?)になる原因が分かりません
記事No10878
投稿日: 2017/09/02(Sat) 19:31
投稿者muu
OS:Windows7
Access Version:Access2016 & SQLServer2014 Express

お世話になります。

レコードロックになる原因が分かりません
ご教授頂けないでしょうか

状況としては、Access.accdbにODBCでSQLServer2014 Express
のテーブルをリンクしております。
そのリンクテーブルにUPDATEする際にトランザクションを行っているのですが
起動元のフォームを終了した後に対象のテーブル(トラン)をデータシートビュー
にて開こうとするとタイムアウトになってしまします。

流れは以下の通りです

Dim cn4 As ADODB.Connection

'Begin>>>>>
Set cn4 = CurrentProject.Connection
cn4.BeginTrans

For ii = 1 To iCnt_出伝番用
'更新
mySQL = "UPDATE トラン"
mySQL = mySQL & " " & "SET "
mySQL = mySQL & " " & "フラグ = 1"
mySQL = mySQL & " " & ",更新年月日 = Now()"
mySQL = mySQL & " " & "WHERE 伝票番号 = '" & wk伝票番号(ii) & "'"
mySQL = mySQL & " " & ";"

'UPDATE文実行
cn4.Execute mySQL 'ロールバック可能なコネクション
Next

'Commit<<<<<
cn4.CommitTrans
cn4.Close
Set cn4 = Nothing

For...Nextの中で cn4.BeginTrans cn4.CommitTrans を行うと
問題なくデータシートビューにて開くことが出来ます。

ご教授、宜しくお願い致します。

追伸:Access自体を終了して再起動すればテーブルを参照する事はできます。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る