• ベストアンサー

ACCESSのテーブルのデータで、先頭に「000」を付与するほう右方

会社の上司からこのような相談を受けました。 バージョンはOFFICE2003を使用しています。 EXCELのデータをACCESSのテーブルにインポートしました。 このデータには、「000123」と先頭に0が付く6桁のコードのデータもあり、EXCEL上では文字列として認識されていました。 このデータをインポートしたところ、ACCESS上では「123」というように表示されています。 データ形式を「テキスト型」に直しましたが、コードは直りません。 データの量が多いため、なるべく簡単に訂正する方法が知りたいとのことでした。 よい方法があれば、ご教授をお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

更新クエリで行なう場合 フィールドの一覧に該当のフィールド名をセット 更新欄に Format(CLng([フィールド名]),"000000") として更新すれば お望みの状態になります。 インポートし直すなら、 現テーブルのレコードを削除して、EXCELのインポートでインポート先を今のテキスト型に設定したテーブルに直接インポートするか EXCELのレコードの先頭(1行目がフィールド名なら2行目)に テキスト型のセルには「A」、数値型のセルには「9」、日付型のセルには日付をセットして新規テーブルにインポートしてください。

huuraibou6
質問者

お礼

ご回答ありがとうございます。 Formatを用いた方法でひとまず解決いたしました。

その他の回答 (4)

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

私も下記やってみました。 エクセルSheet1 A1:C6 A列は書式を文字列にして、データを入力しました。 第1行目はフィールド名にしておいたほうが良さそう。 番号 コード 計数 000123 a 1 002345 b 24 000012 c 3 002349 d 4 012345 e 56 ーー アクセスのメニューの方のファイル 外部データの取り込み インポートエクセルのファイル名の指定 ウイザードの画面に入り Sheet1など指定 つぎへ 先頭行はフィールド名次へ新規テーブルに保存 で結果 ID 番号 コード 計数 1 000123 a 1 2 002345 b 24 3 000012 c 3 4 002349 d 4 5 012345 e 56 と先頭の0-0は除かれていません。 もう一度やってみてください。2002です。 (途中データ型がグレイアウトしているのが気になったが) >簡単に訂正する方法が知りたいとのことでした モジュールを組むとか、クエリでFormat関数で整形するとかあると思うが、もう一度上記のようにやってみてください。 http://www.accessclub.jp/actips/tips_115.htm など >会社の上司からこのような相談を受けました。 回答者には関係ないこと。書かないでも良いこと。

huuraibou6
質問者

お礼

ご回答ありがとうございます。 Formatを用いた方法でひとまず解決いたしました。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>「000123」と先頭に0が付く6桁のコードのデータもあり 付かないものもあるのでしょうか? その場合はもう一度インポートしなおす必要がありますね インポート時に[標準]ではなく[テキスト]を指定すれば Excelデータのとおりインポートできます そうではなく全て頭に0をつけて6桁にすればいいいのであれば 頭に0をたくさんつけて右の6個を取り出せばいいですね Left("000000" & フィールド名,6)

huuraibou6
質問者

お礼

ご回答ありがとうございます。 Formatを用いた方法でひとまず解決いたしました。

noname#79209
noname#79209
回答No.2

#1です。 エクセルから直接インポートせず、一旦CSVファイルに落としてから、アクセスにインポートする手も有ります。

huuraibou6
質問者

お礼

ご回答ありがとうございます。 Formatを用いた方法でひとまず解決いたしました。

noname#79209
noname#79209
回答No.1

インポートする際に、フィールド毎に取り込むデータ形式を選択できますし、フィールド形式を設定したインポート用のテーブルを予め用意したり、 インポート定義を保存して、インポートの際に、その定義を呼び出す等、 方法は有ります。 インポートの都度、新規テーブルへ何も指定せず漫然とインポートしている限り同じ事が起こります。

huuraibou6
質問者

お礼

ご回答ありがとうございます。 Formatを用いた方法でひとまず解決いたしました。