• ベストアンサー

アクセスへのデータインポートが上手くいきません。。。

 アクセスへのデータインポートで知恵をおかし下さい! <現象>エクセルからアクセスへデータインポートをしようとしたところ、エクセルで【01】のものがインポートすると【1】になってしまいます。 エクセル上での【01】の表示形式は、分類:ユーザー定義、種類:00、になっております。 文字列に変えようとすると、してみましたが、【1】になってしまいます。。。。  どのように、したら、【01】としてインポートできるのでしょうか。教えて下さい。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

エクセルのファイルをCSV形式かTab区切りで名前を付けて保存し、そのファイルを読み込めば、インポートの際に文字列を指定することで『01』になると思うのですが・・・ 良ければ一度お試しください

nitaro-nijiro
質問者

お礼

有難う御座います。保存形式を変えるだけで、初心者の私でも簡単に出来ました。 助かりました!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクスポートといっても、エクセルーアクセスで移るのは、 「値」だけです。 (1)エクセルは書式で、「01」に見えていても、1を「01」に表示することはたやすい。ユーザー定義「00」。 (2)またエクセルは、数字の文字列を数値化しようという方針が実行されてしまって数字になりやすい。 (3)セルの書式を前もって文字列にして、例えば001と入力して アクセス側でテーブルにインポートしても、001になりました。 (テスト済み) (4)アポストロフィ(’)を先頭につけて、アクセス側でインポートするとうまくいきます。(テスト済み) (5)数を文字列にするには、書式を文字列に変えてもダメです。 新しい列で=TEXT(A1,"00000")のようにして、文字列の「値」化しなければなりません。そして自己セルに複写し式を消し、A列にコピーし、B列を削除します。前の00・・0の桁数がばらばらだと、書式を文字列にして、正しく再入力です。 0001と01など。 インポート後アクセスのテーブル例 ID 数字列 文字列の列フィールド 1 1 01 2 1 02 3 2 03 4 3 04 5 4 005 6 5 009 7 6 80 8 7 00001

nitaro-nijiro
質問者

お礼

有難う御座いました。また、いろいろなパターンとテストをして頂き感謝です! 特に(5)は勉強になりました。何個も切り口を持っていてすごいですね。

  • aco_michy
  • ベストアンサー率25% (70/277)
回答No.1

文字列に変えるときどのようにしましたか? エクセルのファイルの段階で、 表示形式で【01】と表示させていても、中身は【1】ですから、 文字列に変えるときに 【'01】と入力してから、アクセスにインポートして下さい。 文字列としてインポートしてくれると思います。