• 締切済み
  • すぐに回答を!

Accessへのインポートについて

ExcelからAccessへデータをインポートするとどうしても文字列で09と表示しているところがインポートエラーになり空欄になってしまいます。前に0(ゼロ)がついているからだと思うのですが、インポート後テーブルでデータ形式を変更し入力すればいいんですが余りにも量が多い為、正常にインポートできるようにする方法はないでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数245
  • ありがとう数3

みんなの回答

  • 回答No.3
  • O_cyan
  • ベストアンサー率59% (745/1260)

Accessのテーブルを先に作りフィールドのデータ型の属性を合わせておいて インポートを新規テーブルではなく既存のテーブルにインポートするように してはいかがでしょう。 Excelの09と表示している列が文字列であれば問題なくインポートできるはず なのですが、単純に新規のインポートなのでしょうか?ウィザードを使って インポートしているのですか?マクロ等を使ってインポートさせているので しょうか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 そうですね!先にテーブルを作成し、データ型の属性を合わせてインポートしてみます。 インポート方法は新規でウィザードを使ってインポートしています。またわからないことがあれば、ご教授お願いします。

関連するQ&A

  • Access Excelのインポートについて

    お世話になります。 Access2010 Excelインポート時の仕様についてご教示下さい。 フォーム上に「インポート」ボタンを設置し、ボタンを押すと ファイル選択ダイアログが表示され、そこで選択されたファイルを インポートしています。 DoCmd.TransferSpreadsheet acImport, 10, "temp", strFile, True ※strFileはダイアログにて選択されたファイルのパス インポートする前に事前にテーブルを作成しておき、そこに Excelのデータがインポートされます。 事前に作成しておくテーブル(temp)のデータ型は以下の通りです。 ID オートナンバー 契約開始日 日付/時刻型 契約終了日 日付/時刻型 案件名   テキスト型 価格    テキスト型 ※Excelの「価格」は通貨型となっておりますが、いくつかのセルに  文字列が入力されている為、テキスト型としてます。 <質問> インポートすると、「価格」フィールドにてデータ型の変換エラーが 発生します。エラーテーブルを確認したところ、Excelの「価格」に 文字列が入っている行でした。 予めテキスト型を用意しておいても、文字列の行はエラーとなって しまいます。なお、価格(数値)が入力されているものは、文字列として インポートされています(左詰めになっている)。  100000  50000  10000  80000   ・  50000  空白  ← 本来は文字列が入力されている。 予めテキスト型を用意しておいたとしても、インポート時の仕様?で 先頭から数行が数値なら数値フィールドと認識されてしまって、 文字列が削れ落ちてしまうのかなと。 ちなみに、インポートするExcelの先頭行の価格を「'100000」にして インポートしたところ、ちゃんとインポートはできましたが、 2行目以降は¥マークも含めた文字列でインポートされてしまいました。  100000  ¥50000  ¥10000  ¥80000   ・  ¥50000  文字列 どうにか対処する方法はございますでしょうか。 以上、宜しくお願い致します。

  • AccessでExcelデータをインポート

    お世話になります。  Access2003/2010  Excel2003/2010 10年程前より、Access2003で作成したツール(Excel2003形式のファイルを インポート)を利用しております。 Excelファイルは毎日追加/更新しているのですが、先日、とうとうExcel2003 の行の上限である65,536行を超えてしまいました。 今後はExcel2010形式のファイル(行の上限は1,048,546行)とし、かつ、 2010形式のファイルをインポートできるようツールの修正をしなければならなく なりました。 ツールの修正というよりは、今までAccess2003上で使用していたので、そのまま Access2010上で使用したいだけなので、修正が必要がどうかも分からない 状況です。 そこで2点質問ですが、  1.現状インポートする際は、   DoCmd.TransferSpreadsheet acImport, 8, "temp", strFile, True   としておりますが、「8」の箇所は2010形式のExcelをインポートする場合   どのように修正すればよいでしょうか。   ヘルプを見ても8(Excel2000形式)までの記載しかありません。   とりあえず8のままExce2010形式で、かつ2003の行の上限を超えている   ファイルを(66000行)インポートしてみましたが、行は削れることなく   インポートできました。  2.インポート時の文字数制限について   インポートするExcelファイルの「備考」フィールドは文字数が多いのですが、   Access2003上で使用すると全ての文字列(750文字程度)をインポート   できておりました。   しかしAccess2010上で使用すると、文字列が途中で切れる(255文字)   不具合が発生しました   インポートする際は、あらかじめテーブルを作成しておき、そこに対して   Excelのデータをインポートしております。なお、「備考」のデータ型は   メモ型です。   (255文字で切れることから)恐らくAccessがインポートする時点で「備考は   テキスト型」と判断しているから255で切れてしまうのではないか、で、切れた   文字列をメモ型に入れてるだけのように見受けられるのですが。。   2003から仕様が変わってしまったのでしょうか。   上記のことから、インポートするExcelの先頭行の「備考」に、適当な文字列   (750文字)を入力し、それをインポートすると途切れることなくインポート   できました。   ※Accessがメモ型と認識したから? ※いずれもツールをAccess2010上で使用した状況です。 ご教示の程、宜しくお願い致します。

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

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

  • 回答No.2
  • oka123
  • ベストアンサー率31% (69/219)

こんにちわ マクロなどで自動的に インポートしているのなら不可能ですが 手動で ファイル→インポート としているのなら次の方法をためして みてください インポート時にエクセルファイルの 何行かが表示されて項目(フイールド)が 区切られることになります 区切られた項目のところのデ-タ-形式は おそらく「数値型」となっていると思いますので ここを「テキスト型」にしてみれば よいと思います

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 インポートウィザードでデータ形式がグレーになっていて 指定できないようになってるんです。なぜでしょうか?

  • 回答No.1

そのデータ項目の先頭の方にNULL(文字入力なし)データはありませんか? Excelから、Accessにインポートする際、先頭の16行(だったと思います。) の内容で書式を決定します。 一番簡単な方法は、先頭数十行に、明らかに型のわかるダミーデータを設定してみてください。 たとえば ダミー1  1 2002/08/06 ダミー2  2 2002/08/06 といったものを20行くらい先頭に突っ込みます。 必要な項目をACCESSが理解しやすい形で入れるという方法も結構有効です。 インポート後、要らないレコードを削除すればOKです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 そうですね、一度Excelのデータを見直してみます。

関連するQ&A

  • ACCESSデータベースのインポート 

    ACCESSデータベースでインポートしたいデータ(拡張子がlog)があるのですが、そのままだと文字列が区切られていなくテーブルに入らないので、毎回 しょうがなく事前に置換ツール等を使ってカンマ区切りにしてからインポートしています。 モジュールなどを使って、インポートする前のデータをテーブルに入れやすい 形(カンマ区切りのtxtファイルぐらいしか思いつかないのですが。。。)に置換・変換っていうのはできるんでしょうか??教えて下さい。。

  • EXCEL→ACCESSインポートでセル内改行が機能しません・・。

    EXCELデータをACCESSにインポートする局面で、 ・EXCELデータのセルは、CHAR(10)によって、セル内で改行されています。 ・これをACCESSへインポートすると、改行が機能せず連続した文字列となってしまいます。 ・ACCESSの該当項目は、メモ型(文字数が多いので)です。 EXCELでの表示と同一の表示がACCESSで得たいのです。 よろしくご指導下さい。

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

    お世話になります。 Access2010 Win7Pro Excelファイルのデータをインポートし、それをSQLサーバーへ エクスポートするツール(Access)があります。 例えば、Excelに「ID」と「メモ」というフィールドがあり、1500行 あったとします。 また、メモには100文字程度の文字列が入力されています。 それをインポートすると、問題なくメモの100文字はインポートできます。 但し、1000行目のメモに500文字入力されている場合、それを インポートすると255文字に削られてしまいます。 これはインポートするときに、先頭から数行がチェックされて データ型が自動的に決められる為、上記のケースだとテキスト型に なってしまい1000行目のメモは255文字に削られている・・・ ということだと思います(仕様)。 なので、現状はExcelをインポートする前に先頭行のメモを255文字 以上入力した状態でインポートし、SQLサーバーへエクスポート後 テーブルの先頭レコードのメモより不要な文字(追加して入力した分)を 削除しております。 当該ツールを使って、インポート⇒エクスポートするのは日々の作業なので 毎回メモに文字を追加して、あとで削除するというのが手間でなりません。 なにかよい方法はございますでしょうか。

  • ACCESSにエクセルのデータをインポートする際、改行は?

    EXCELのデータを、ACCESSにインポートしようとして、 エラーが発生しました。 EXCELのデータの中に、改行している列があるので、 そのためかと思われるのですが…。予想は当たっておりますでしょうか? また、その為にインポートできないとすると、そのデータは、 (1)列を複数つくって、それぞれに入力する (2)一つのセルに、コンマなどで区切って入力する のどちらかになるかと思うんですが、 (2)の場合、例えば、コンマで区切った箇所を ACCESSのフォームで改行して表示するような方法はあるのでしょうか? 初心者ですので、VBAというのはあまりよく分かりません。 どなたか教えていただけると嬉しいです。

  • access2010でメモ型がインポートできない

    以前のACCESS2000では出来ていたのですが、ACCESS2010(windows7)にバージョンアップしたところ、csvファイルのインポートで、メモ型のデータが255文字までしかインポートできなくなりました。 調べてみたところ、そのフィールドを、クエリなどで使用しているとキャスト(型変換)されるのでメモ型ではなくなり255文字の制限がかかる、との記述がありましたが、新しいテーブルを作成してインポートしてもできませんでしたので、別の原因かと思われます。 また、ACCESS2000のデータを、ACCESS2010の[ファイル]-[保存して発行]・・・・も行い、拡張子を.accdbにしてみましたが、やはり255文字を超えるインポートができませんでした。 インポート時の[設定]のところのフィールドの情報で、メモ型にしてあるフィールド名が表示されていないのが気になりますが。 文字列の引用符は ” にしています。 ACCESSはデータの25行目までを読み込んでデータ型を自動選択している、という記述もあり、1行目のデータに256以上の文字を入れてインポートもして見ましたが255文字で切られてしまいます。 よろしくお願いいたします。

  • Accessのファイルインポートが上手くいきません

    いつもお世話になっております。 今回、お伺いしたいのは Access`2002を使用しているのですが、 データを落として保存されたエクセルファイルをインポート元にして AccessDBにインポートした際にエラーが発生しました。 インポート先はAccessのテーブルで全てテキスト型にしているのですが、 インポートした際に、同じ列の数字のものはインポートされているのですが、 アルファベットが入っている列のものがエラーとなって外に出されてしまいます。 私としましては、全てテキスト型で空文字受付状態であれば、 全てインポートされる物だと思っていたのですが、 エラーになってしまいます。 何か対処方法などご存知方、お教え頂きたくおもいます。 どうぞよろしくお願い致します。

  • Access97 Excelファイルのインポート

    はじめまして、こんにちわ。 早速ですが、質問させてください。 Access97で既存のテーブルにExcelファイルをインポートした際にエラーがでてインポートできないファイルがありました。その原因を調査している次第です。 Excelファイルは様々な担当者に作成いただく予定ですので、エラーの再現性を確認して、原因となる作業を予め禁止しておきたいと考えております。 (1)ファイル→外部データ取込→インポートからインポートするExcelファイルを選択し、インポートボタンを押したところ、『ファイル○○にアクセスできません。このファイルが存在するか、またファイルの形式が正しいか確認してください』と言うエラーが出ます。 実際にそのファイルは開けますし、同じように作成したファイルはインポートできるものもあります。 中身を全てコピーし、新規作成したExcelファイルに貼り付けて名前をつけて保存したものをインポートすると、問題なくインポートできました。 どういった作業をすると、上記エラーが出るようなファイルになってしまうのでしょうか。 (2)ファイル→外部データ取込→インポートからインポートするExcelを選択し、インポートボタンを押した後、ワークシートインポートウィザードで『先頭行をフィールド名として使う』をチェックすると、『先頭行にAccessフィールド名に使用できない文字が含まれています。』というエラーが出ます。 調べてみると、空白の列がフィールドとしてインポートされるようになっています。Excel上では何も表示されていない列で、その列を削除すればエラーがなくなります。 どういった作業をすると、空白の列や行がインポートされるようになってしまうのでしょうか。 お手数ですがよろしくお願い致します。

  • ACCESS のインポート

    ACCESS 2003をかじり始めた初心者です。 2つのテーブルから作ったクエリのデータにEXCELデータをインポートしようと思いましたが、インポートウィザードではインポート先としてテーブルを要求して来るようです。どうすれば良いのでしょうか。クエリをテーブルに変換する方法があればいいのかも知れませんが。

  • Accessのインポートについて(上書きと追加)

    Access2000を使用しています。 インポートについて教えて下さい。 あるテーブルにExcelデータをインポートしています。 「あるテーブル」の設定としましては主キーを設定して いて重複なしにしています。 実現したいこととしましては、Excelデータ上にAccessデータ(すでにあるデータ(主キー))があれば上書き保存して、なければ追加したいのです。 Access側        | Excel側 主キー フィールド1  |  列1  列2    A     ○      |   B   ○ B     ×      |   D   × C     ○      |   E   ×   つまり上記の表でAccess側Bデータのフィールド1の「×」 をExcelデータをインポートすることにより「○」に 変更(上書き保存)したいのです。 そして、Excel側D・EデータはAccessに新規レコードと して追加したいのです。 よい方法はないでしょうか? なお、私の知っている知識としましては、 インポートするとデータは上書き保存されずに 追加されてしまうということは知っているのですが。 以上、よろしくお願い致します。

  • Excelのデータ(数字)をテキスト型としてaccessにインポートする方法

    Excelの「セルの書式設定」を「文字列」にして、数字を入力し、accessで「インポート」すると「データ型」が「倍精度浮動小数点型」となって「1(2)」や「1&2」と入力した行がインポートできずerrorとなります(普通の数字はインポートできます)。Excelの書式設定を「ユーザ定義」→「@」としても同じです。またaccessでテーブルのデザインでそのインポートするフィルドを「データ型」としておいてインポート操作をしてもインポートされません。Excelを開きそのセルや行の書式設定を確認しましたが文字列となっています。どこが問題なのでしょうか? また正しくインポートできる方法を教えてください。 accessとExcelのバージョンは2003です。 よろしくお願いします。