回答編集履歴
2
実際のコードの変更内容を記述
answer
CHANGED
@@ -1,6 +1,29 @@
|
|
1
1
|
hatena19さんに教えていただいた内容で解決したと思っていましたが、その後他のテーブルのデータもコピーするSQLなどを書き始めた途端、また同じ症状(Recordset/RecordsetCloneがNothingとなる)に遭遇しました。
|
2
2
|
|
3
|
-
さらに調査・試行錯誤してみたところ、どうやらトランザクション制御のために取得したWorkspaceを閉じたことが原因だとわかりました。
|
3
|
+
さらに調査・試行錯誤してみたところ、どうやらトランザクション制御のために取得したWorkspaceを閉じたことが原因だとわかりました。
|
4
|
+
|
5
|
+
元々のコード
|
6
|
+
```VBA
|
7
|
+
Dim ws As DAO.Workspace: Set ws = DBEngine(0)
|
8
|
+
Dim db As DAO.Database: Set db = CurrentDb
|
9
|
+
...
|
10
|
+
ws.BeginTrans
|
11
|
+
...
|
12
|
+
ws.CommitTrans
|
13
|
+
db.Close: Set db = Nothing
|
14
|
+
ws.Close: Set ws = Nothing
|
15
|
+
```
|
16
|
+
|
17
|
+
の最後の部分をこんな感じに修正したところ、問題が起きなくなりました。
|
18
|
+
|
19
|
+
```VBA
|
20
|
+
...
|
21
|
+
ws.CommitTrans
|
22
|
+
db.Close: Set db = Nothing
|
23
|
+
Set ws = Nothing
|
24
|
+
```
|
25
|
+
|
26
|
+
以下がまさにピンポイントな記事ですね。
|
4
27
|
→ [WorkSpaceは閉じなくても問題ないのか](https://zawazawa.jp/ms-access/topic/124)
|
5
28
|
|
6
29
|
Accessのアプリケーション全体としてプールしているWorkspaceを勝手に閉じてしまったことで、以降のDBアクセスが不可になった、という感じなのでしょうか。
|
1
文言レベルの修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
hatena19さんに教えていただいた内容で解決したと思っていましたが、その後他のテーブルのデータもコピーするSQLなどを書き始めた途端、また同じ症状(Recordset/RecordsetCloneがNothingとなる)に遭遇しました。
|
2
2
|
|
3
3
|
さらに調査・試行錯誤してみたところ、どうやらトランザクション制御のために取得したWorkspaceを閉じたことが原因だとわかりました。以下がまさにピンポイントな記事ですね。
|
4
|
-
→ [
|
4
|
+
→ [WorkSpaceは閉じなくても問題ないのか](https://zawazawa.jp/ms-access/topic/124)
|
5
5
|
|
6
|
-
Accessのアプリケーション全体としてプールしているWorkspaceを勝手に閉じてしまったことで、以降のDBアクセスが不可になった、という感じな
|
6
|
+
Accessのアプリケーション全体としてプールしているWorkspaceを勝手に閉じてしまったことで、以降のDBアクセスが不可になった、という感じなのでしょうか。
|