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

回答編集履歴

2

実際のコードの変更内容を記述

2021/05/11 02:12

投稿

na999
na999

スコア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

文言レベルの修正

2021/05/11 02:12

投稿

na999
na999

スコア2

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  hatena19さんに教えていただいた内容で解決したと思っていましたが、その後他のテーブルのデータもコピーするSQLなどを書き始めた途端、また同じ症状(Recordset/RecordsetCloneがNothingとなる)に遭遇しました。
2
2
 
3
3
  さらに調査・試行錯誤してみたところ、どうやらトランザクション制御のために取得したWorkspaceを閉じたことが原因だとわかりました。以下がまさにピンポイントな記事ですね。
4
-  → [Microsoft Access 掲示板 WorkSpaceは閉じなくても問題ないのか](https://zawazawa.jp/ms-access/topic/124)
4
+  → [WorkSpaceは閉じなくても問題ないのか](https://zawazawa.jp/ms-access/topic/124)
5
5
 
6
- Accessのアプリケーション全体としてプールしているWorkspaceを勝手に閉じてしまったことで、以降のDBアクセスが不可になった、という感じな
6
+ Accessのアプリケーション全体としてプールしているWorkspaceを勝手に閉じてしまったことで、以降のDBアクセスが不可になった、という感じなしょうか。