- ベストアンサー
エクセルをアクセスに取り込みすると文字化けする
あるエクセルのデータをアクセスに取り込みすると文字化けするセルが一部ありました。 同じテーブル内で、正規に取り込みになっているセルもあります。 どうしてでしょうか、困っています。具体的には次のようになっています。 1234567(ある整数の羅列) 正規に表示なっている 2.40089e+006 → エラー 本当はある整数の羅列7文字 2.96154e+006 → エラー 本当はある整数の羅列7文字 123456(ある整数の羅列) 正規に表示なっている
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No1です。インポートの扱いでしたら、試しにやってみたところ、「浮動小数点型」でインポートされました。 この場合には、表示形式プロパティを「指数」から「標準」などにすることにより、指数型表示ではなくなりました。 また、あらかじめテーブルをテキスト型で設定してインポートした場合にも同様でした。 骨を見て魚を当てるような回答になってしまいますが、もしかしたらEXCELの元データが、 文字列として扱われているのかも知れません。EXCELのセルの書式設定が「文字列」になっているのではないでしょうか。 その場合は、EXCELで空いているセルに=value(セル)として、数値変換するか 一旦そのままインポートしてしまった後、クエリーで新しい表示列をつくり、 その表示列を「Val([フィールド1])」のようにしてしまう方法があります。 もちろん、更新クエリーをかけて書き換えてしまっても結構です。
その他の回答 (1)
- jacob-wk9
- ベストアンサー率36% (85/231)
2.40089e+006 これを、標準表示形式にしてみると、「2400890」になりました。 アクセスの整数型の「整数型(integer型)」では、正では「32767」までしか格納しないそうです。 アクセスのテーブル構造の「フィールドサイズ」は「長整数型(longinteger型)」になっていますでしょうか。
お礼
早速ありがとうございます。 アクセスのテーブル構造はテキスト型でです。
お礼
エクセルのデータを数値にしてやれば、正しくインポート出来ました。今回24のシートをインポートしていますが、その中で一つのシートのみ誤表示になります。24シート共にその場所はVLOOKUP関数で表示していましたが、一つのシートのみ直入力データが混在していました。直入力していたのも7桁、誤表示になるのも7桁。きっとそれが原因だと思います。 度々ありがとうございました。