teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2018/04/19 08:09

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -12,4 +12,8 @@
12
12
  ```VBA
13
13
  Call BEGINTRANSACTION
14
14
  ```
15
- の前でCOMMITするとどうなります?
15
+ の前でCOMMITするとどうなります?
16
+
17
+ やっぱり、openでの排他モードが関係しているような気がします。
18
+ selectでテーブル単位の排他を行っていますけど、openは基本カーソルなのでレコード単位までしかありません。
19
+ executeに変えてみてはどうでしょうか。

2

追記

2018/04/19 08:09

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -5,4 +5,11 @@
5
5
  ---
6
6
  > SELECT COUNTのSQL文をコメントアウトすると、INSERT文の行で同エラーになります。
7
7
 
8
- insert って openじゃなくて、executeじゃなかった?
8
+ insert って openじゃなくて、executeじゃなかった?
9
+ まあ、本題とは関係ないですけど。
10
+
11
+ 追加されたコードを見るにセッションは引き継いでいるように見えますね。
12
+ ```VBA
13
+ Call BEGINTRANSACTION
14
+ ```
15
+ の前でCOMMITするとどうなります?

1

追記

2018/04/19 07:57

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,2 +1,8 @@
1
1
  RS_SQL.Openで毎回セッションを開いているんじゃないですか?
2
- 別セッションなら当然排他されますので。
2
+ 別セッションなら当然排他されますので。
3
+
4
+ 追記
5
+ ---
6
+ > SELECT COUNTのSQL文をコメントアウトすると、INSERT文の行で同エラーになります。
7
+
8
+ insert って openじゃなくて、executeじゃなかった?