
Excelの「セルの書式設定」を「文字列」にして、数字を入力し、accessで「インポート」すると「データ型」が「倍精度浮動小数点型」となって「1(2)」や「1&2」と入力した行がインポートできずerrorとなります(普通の数字はインポートできます)。Excelの書式設定を「ユーザ定義」→「@」としても同じです。またaccessでテーブルのデザインでそのインポートするフィルドを「データ型」としておいてインポート操作をしてもインポートされません。Excelを開きそのセルや行の書式設定を確認しましたが文字列となっています。どこが問題なのでしょうか?
また正しくインポートできる方法を教えてください。
accessとExcelのバージョンは2003です。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
Excelの「表示形式」を「文字列」にしているのに…というのを疑問に感じていらっしゃるようですが、この設定は、そもそも原則としては「表示上」のデータを整形する機能として用意されたもので、Access等のデータベースで、フィールド型を指定する機能とは、根本的に異なります。
この点を理解されておいたほうがいいでしょう。では、ExcelデータをAcessにインポートするときには、どのようにしてフィールド型を判別しているのかと言えば、1件目のデータからであると思われます。
文字列にしている列の1件目のデータは、数字のみ等の数値として認識できるデータではないでしょうか? これによって、「倍精度浮動小数点型」が自動設定されるのでしょう。ところが、「1(2)」などのデータは、型が違うので、エラーが表示されると。
「ANo.#2」さんの「方法3」ならうまくいくというのも、この理由でしょう。
ただ、私がExcel2002とAcess2002で試してみたところでは、おっしゃるような問題が発生しませんでした。何が、違うんでしょうねぇ。「ANo.#2」さんの「方法2」についても、私はうまく行きました。「方法1」のTXTファイルとして保存する方法ですが、Excelでカンマ区切りやタブ区切り形式で保存すれば、空白セルがあっても、問題ないと思いますがいかがでしょうか。
解答ありがとうございます。fmajinさんが問題なくできるとおっしゃたので TXTファイルでerrorがでる問題の箇所を調べました。ダブルクロテーション(”)や改行されたりしてました。Excel上ではそのように表示がないのですが…??(ちなみに書式設定かもと思いデータをコピーし新規シートに「形式を選択して貼り付け」で「値のみ」で「貼り付け」したものも開いてみましたが同じでした)。ダブルクロテーションや改行を削除してインポートしましたら成功しました。「ANo.#2」さんの「方法3」が一番簡単なようです。 ありがとうございました。
No.2
- 回答日時:
方法は3つ
方法1
1度エクセルをテキスト形式(*.TXT)で保存後
インポートすれば、設定でデータ型を指定できます。
方法2
エクセルのままでする場合は、データ型を決めたテーブルにインポートしてください。
一度、エクセルをインポート後に、
データを削除、データ型を正規のものにして保存して
そこにインポートする。
方法3
エクセルの2行目(1行目がフィールド名でない場合は1行目)にダミーデータで
文字型にしたい列に「A」
数値型にしたい列に「9」
日付にしたい列に「=TODAY()」
時刻にしたい列に「0:0」
としてインポートする。
方法3で解決しました。
でもなぜなんでしょう?書式設定で「文字列」なのに…
方法1については、フィ-ルドにデータが正確に配置されない行も出てきます。たぶん空白のセルの影響だと思うのですが…
方法2については、質問にも書いてあるのですが、やはりerrorとなります
ありがとう ございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
インポート時のエラー「データ型の変換エラー」
Access(アクセス)
-
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
Excel→Accessへの日付データのインポート
Excel(エクセル)
-
-
4
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
Accessの桁区切りについて教えてください。
Access(アクセス)
-
7
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
8
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
9
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
10
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
11
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
12
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
13
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
14
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
15
access テキストボックスの値取得
Access(アクセス)
-
16
「#エラー」の回避
Access(アクセス)
-
17
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
18
アクセスでcsvに出力した際、頭の0が消えてしまいます
Access(アクセス)
-
19
accessのフィールドに10桁の数字は入らない??
Access(アクセス)
-
20
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLSever 一括インポートについて
-
複数eml形式のBecky!への一括イ...
-
Wordの文章をExcelに内容ごとに...
-
notepad++ で作成した文書を cs...
-
複数のエクセルファイルをアク...
-
osv形式ファイル
-
ダブルクォーテーション囲いカ...
-
アクセスで小数点以下1桁まで...
-
Excel 2016 テキストファイルの...
-
mdbをテキストに変換するツール...
-
Excelでhtml形式のテキストを表...
-
シュリケンからOEへの移行
-
Excelのデータ(数字)をテキス...
-
CSVファイルとテキストファ...
-
差し込み印刷の元データファイ...
-
Excelブックの共有をしているの...
-
ISOファイルとMDSファイル
-
Word差し込み印刷、フォルダの...
-
EXCEL共有ファイルの使用中の相...
-
[Googleスプレッドシート]エク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Excelのデータ(数字)をテキス...
-
notepad++ で作成した文書を cs...
-
複数eml形式のBecky!への一括イ...
-
osv形式ファイル
-
CSVファイルでの数字表記のエラー
-
複数のメールファイルを1つの...
-
CSVファイルとテキストファ...
-
多数のeml形式ファイルを1つの...
-
mdbをテキストに変換するツール...
-
アクセス2007でのインポートエ...
-
ACCESS複数テキストファイルを...
-
列数が4000を超えるcsvファイル...
-
VBA 複数のCSVファイルを一度...
-
エクセル2000で65536行を超える...
-
【AccessVBA】ダイアログで複数...
-
windows live メール2011からou...
-
テキストデータを項目で分けたい
おすすめ情報