こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access Excelインポート時の制限について

お世話になります。

Access2010
Win7Pro

Excelファイルのデータをインポートし、それをSQLサーバーへ
エクスポートするツール(Access)があります。

例えば、Excelに「ID」と「メモ」というフィールドがあり、1500行
あったとします。
また、メモには100文字程度の文字列が入力されています。
それをインポートすると、問題なくメモの100文字はインポートできます。

但し、1000行目のメモに500文字入力されている場合、それを
インポートすると255文字に削られてしまいます。

これはインポートするときに、先頭から数行がチェックされて
データ型が自動的に決められる為、上記のケースだとテキスト型に
なってしまい1000行目のメモは255文字に削られている・・・
ということだと思います(仕様)。

なので、現状はExcelをインポートする前に先頭行のメモを255文字
以上入力した状態でインポートし、SQLサーバーへエクスポート後
テーブルの先頭レコードのメモより不要な文字(追加して入力した分)を
削除しております。

当該ツールを使って、インポート⇒エクスポートするのは日々の作業なので
毎回メモに文字を追加して、あとで削除するというのが手間でなりません。

なにかよい方法はございますでしょうか。

投稿日時 - 2015-02-12 17:19:58

QNo.8916197

困ってます

質問者が選んだベストアンサー

>レジストリを見てみると該当するパスに「TypeGuessRows」がそもそも存在してませんでした。
見てる場所が違うのかも。。。下記のURLを参照してください。

・Excel ODBC ドライバでデータが 255 文字に切り捨てられる
http://support.microsoft.com/kb/189897/ja

投稿日時 - 2015-02-12 19:42:15

お礼

mshr1962さま
度々のご回答ありがとうございます。

前回質問した際、レジストリのパスに「Wow6432Node」が
含まれておりましたが、回答頂いたnicotinismさまのPCが64bit版OS
で32bit版のOfficeを使用されていたからかもしれません。

私のPCは32bit版Win7なので「Wow6432Node」が存在しない
のは当然でした。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
の「TypeGuessRows」の値を0にすることにより、文字が切れずに
インポートできました。

ありがとうございました。

投稿日時 - 2015-02-13 09:11:23

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

Docmd.RunSavedImportExport("保存した定義名") を使ってみるとか。
http://hamay.blogspot.jp/2011/12/blog-post_8282.html

投稿日時 - 2015-02-12 21:44:15

お礼

NotFound404
いつもご回答ありがとうございます。

私の確認ミスでした。すみません。
レジストリの「TypeGuessRows」の値を0にすることにより
インポートできるようになりました。

教えて頂きました「エクスポート操作の保存」については
初めて知りました。
この方法でも検証してみたいと思います。

ありがとうございました。

投稿日時 - 2015-02-13 09:15:39

ANo.1

過去の同様の質問を見つけました。参考になるかと思います。

・【再】AccessでExcelインポート時の制限
http://okwave.jp/qa/q7543021.html

投稿日時 - 2015-02-12 17:38:30

補足

当時のことを思い出せないのですが、今使用しているPCの
レジストリを見てみると該当するパスに「TypeGuessRows」が
そもそも存在してませんでした。

投稿日時 - 2015-02-12 18:09:39

お礼

mshr1962さま
早速のご回答ありがとうございます。

こちらのURLは以前に私が投稿させて頂きました質問ですね(笑

(私のやり方が悪かったのかもしれませんが)
結局レジストリを修正してみても状況変わらずでした。

投稿日時 - 2015-02-12 17:54:50