Microsoft Access 掲示板

XLSX 形式ファイル -> Access 2019 へのインポートで相談

3 コメント
views
4 フォロー

XLSX 形式ファイル -> Access 2019 へのインポートで相談させて下さい。

取り扱う表は列数が多いので、
インポート操作を適当にやって MSysIMEXColumns テーブルに行を追加させた後、
その MSysIMEXColumns の DataType フィールドを編集して
(例えば、倍精度浮動小数点型から長整数型に指定し直して)
今後実行させたいと考えていました。
が、DataType フィールドを間違いなく指定し直しても、
「保存されたインポート操作」の結果が思うようになりません。
上で言えば、相変わらず倍精度浮動小数点型でインポートされるようです。
最適化と修復をしても同じでした。
全フィールドをテキスト型に指定し直すなどもしてみましたが、それも全て無視されました。

Access がどこを見て作業をしてくれているのか分かりませんが、これは仕様なのでしょうか?
MSysIMEXColumns は、編集しても無駄なのでしょうか。
どなたか教えて下さればありがたいです。お願い致します。

l2102
作成: 2021/02/14 (日) 06:07:12
通報 ...
1
hiroton 2021/02/16 (火) 16:28:10 修正 1ab75@f966d

投稿してからそれらしいことやってることに気づきました(元投稿は削除)

Accessのインポート定義を編集する方法

試してないのでわからないんですが、編集する方法と謳う上記リンク先のようなことをしても編集できないということでしょうか?


やってみたらインポート操作の保存で保存するとMSysIMEXSpecsとかMSysIMEXColumnsとかにはデータ追加されないんですねぇ

MSysIMEXColumns自体はインポート定義用として正しく使われてると思うので今回の内容だと弄ってもダメそうですね

2
hiroton 2021/02/16 (火) 17:35:36 1ab75@f966d

せっかくなので少し調べてみました

保存済みのインポート操作」の内容はImportExportSpecificationオブジェクトにXML形式で保存されているようです

ImportExportSpecification object (Access)

3
l2102 2021/02/17 (水) 07:01:55 5e96a@6cf95

ありがとうございます。

>編集する方法と謳う上記リンク先のようなことをしても編集できないということでしょうか?

はい。なお私がいじり回して分かったのは、

・「インポート操作の保存」は、システムテーブルへのレコード追加と関係が無いらしい。ウィザードで、例えば 1 フィールドでもデータ型を既定以外のものに指定すると、全フィールドについてレコードが追加されるらしい
・「1 フィールドでもデータ型を既定以外のものに指定」は、システムテーブルに間違いなく反映されている。が、その後ここを直接に修正しても、その修正は「保存済みのインポート操作」の実行で無視される

という感じです。