概要
よくないデプロイ例
例えば、テスト環境のAccessでcsvインポート定義を作ってテストしても…
本番環境へのデプロイ時に、本番環境のAccessで下記のような画面を出して…
これではデプロイ時にプログラミングしていることになります。
このような本番環境で改めて作るようなやり方だと テスト環境でインポート定義を作ってテストしている意味が無くなってしまいます 。
テスト環境作ったインポート定義をそのまま本番に移したい!
やり方
システムオブジェクトの表示
移管元と移管先の両方でやっておきます。
『ナビゲーションオプション』。
『システムオブジェクトの表示』にチェック入れる。
『MSysIMEXSpecs』『MSysIMEXColumns』テーブルにインポート定義の情報が入っています。
つまり、この2テーブルのレコードを丸ごと差し替えてあげることで定義の移管ができます。
移管先のレコード全削除
移管元から移管先へレコード移す
補足
『テーブル構造とデータ』だと下記のような例外になります。
なので、事前に移管先のレコードを全削除しておいて、『既存のテーブルにデータを追加』を行っています。
システムオブジェクト非表示に
やり方は『システムオブジェクトの表示』の逆をすればよいので省略。
新しいデータソース経由の移管だと失敗することがある
下記のようにやり方もありますが…
なのでこの記事ではシステムオブジェクトテーブルのレコード移管の方法を載せています。
参考サイトさん
バージョン
Microsoft Windows [Version 10.0.19045.3636]
Microsoft Access for Microsoft 365 MSO (バージョン 2310 ビルド 16.0.16924.20054) 32 ビット