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
文字列
どうにか対処する方法はございますでしょうか。
以上、宜しくお願い致します。
補足
説明が悪くてすみません。 先頭行をフィールド名として使うにチェックを入れた場合、 エクセル側とアクセス側(インポートされる側)のフィールド名が一致していないとエラーになりデータはインポートされませんよね? なのに、アクセス側には、NOフィールドがあり、エクセル側にはないのに、インポート時にエラーにならないのはどうしてなのかな?と。