■No57612 (ふるふる さん) に返信
> Recordsetの永続化はデータベース上のテーブルを外部ファイルとして保存するような機能なので、
> 逆に取り込む機能も実装しているだろう、と思って探したところ見つからなかったので質問してみた次第です。
「データ」を取り込む機能ならあります(そもそもはオフライン更新のための機能です)。
しかし、テーブル構造をスキーマごとインポートするための機能は用意されていません。
永続化されたデータの編集結果(削除/更新/追加レコード)を反映させるには、このようにします。
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient '永続化にはクライアントカーソルが必要
rs.Open data '永続化された IStream (もしくはファイルパス) を開く
Set rs.ActiveConnection = con '再接続する
rs.UpdateBatch adAffectAll '一括反映
ただしバッチ更新モードを使うためには、OLE DB プロバイダー側のサポートが必要になりますし、
データ競合(編集対象のレコードが既に編集されていた場合)への対処も考慮せねばなりません。
|