Microsoft Access 掲示板

レコードセットをレコードセットにコピーしてテーブルに反映 / 3

6 コメント
views
5 フォロー
3
mayu 2021/08/24 (火) 13:26:01 修正 ef559@a99f1

Set Rst0 = RstD.Clone
'TBL2に反映させたい

残念ながら、無理でしょう。
ご自身で書かれているように、INSERT文を用いて TBL2 にデータをコピーして下さい。

理由:
RstD のインスタンスを Rst0 に単純コピーするだけでは
Rst0 は、単に RstD のクローンになるだけで無意味ですし、
コピーした後に Rst0 の ActiveConnection を Nothing に設定すると
Rst0 は、どの DB とも接続されていない 独立した ADODB.Recordset にはなります。

で、Rst0 を Access 側である TBL2 の ADODB.Recordset として扱うためには
ActiveConnection プロパティと Source プロパティを書き換える必要がありますけど
Source プロパティは Recordset.Open 後、読取り専用のプロパティになっています。

結局、Source プロパティを書き換えるためには Recordset を一度閉じる必要があるのですけど
言うまでもなく、Closeメソッドを呼び出すと
Rst0 に内包されていたデータは消滅してしまいます。

通報 ...