No.1ベストアンサー
- 回答日時:
エクセルのバージョンはどれをお使いになっていますか?
エクセルのバージョンが古いとひょっとしてAccess2000では読めない可能性があります。
また、一手間かかりますが、エクセルからCSV形式に出力して、Accessで取り込む回避策も考えられます。
この回答への補足
oribeyakiさんアドバイス有難うございます。
EXCELLは2000です。
IBMAS/400でEXCELLにデータ転送するとEXCELLの中は下の様になってます。
A B C D E F G H I J K L M
1 TSUKI HI KINGAKU
2 09 29 \3,000
3
4
上記の様に一行目にフィールド名が必ず入ってしまうのです。
たぶんACCESS2000ないでEXCELLの一行目を削除してからインポートすれば良いと思いますが、やりかたが解かりません
引き続きアドバイス願えればありがたいのですがお願い致します。
No.3
- 回答日時:
返答が遅くなりすいません。
推測のレベルでしかないのですが・・・複数の原因があるように思えます。
AS400側の「BIFF」作成部分というのは旧来のままですか?
そうであるとすると、「BIFF」のバージョン違いによるエラーが考えられます。
(Excel2000対応:BIFF,BIFF3,BIFF4,BIFF5,BIFF8)
また、「BIFF8」になって、かなり機能拡張がありました。
また、別の事例で「CSV」形式のファイルをExcel取り込み→Accessインポートの過程で同様のエラーが出ているものがありました。
これは、Access97とAccess2000のテキストドライバの違いでこのエラーが起こるとの事でした。
推測1
ExcelではそのBIFF形式は問題なく読み込めるが、Accessではそのバージョンの形式を認識できない。もしくは「xls」にひもついているExcel2000(BIFF8)の形式と判断して読み込もうとして失敗している。
推測2
Excel2000ではそのBIFF形式を認識していない。また、開いた時は入っているように見えても内部コードがおかしい。
(開いてみると何かメッセージが出るかも?手がかりになりそうならめっけもん)
対処方法(これも推測)
場あたり的対処
一度その「xls」ファイルを開いて、「最新のバージョンに変換しますか?」が出たら変換してセーブ、出なかったら一度テキスト形式(CSVとか)に落として、それを新規のExcelに取り込み。
その後、Accessで取り込み。
(ようは、力押しで最新のExcel形式にしてしまってから取り込み。)
抜本的対処
AS400のファイル作成プログラムを「BIFF8」の形式で作成しなおす。
※ただし、AS400側の「BIFF」作成部分が旧来のままという前提に立ったコメントにつき、おおはずしの可能性大(爆)
まあ、ドライバのバージョン違いと形式のバージョン違いに起因するエラーには間違いないとは思いますが・・・^^;
(BIFFは扱ったこと無いので良く判らないんです。すいません。)
原因個所が絞り込めてきましたので、問題解決まで後少しってとこですかね。
また、補足、私の勘違い、意味がわからないなどありましたら、ご返答ください。
この回答への補足
こんにちわ、oribeyakiさん
返答有難うございます。
場あたり的対処やってみました。最新のバージョンに変換したら出来ました。
有難うございます。
あと、出来ればEXCELLを開いて、最新のバージョンに変換しますか?を
ACCESS2000のマクロ又は、モジュールを使って出来ないでしょうか。
しつこくてすみません。
宜しくお願いします。
No.2
- 回答日時:
おはようございます。
AccessにExcelからデータを取り込むのには、「インポートウィザード」を使われてますか?
(「テーブル」の「インポート」を選択してExcelブックを選ぶと自動的に出てくるものですが・・・)
「インポートウィザード」を使用していれば、補足していただいた内容を実現する事は簡単にできます。
流れを書きます。
1・「テーブル」で「新規作成」→「テーブルのインポート」を選択。
2・インポートダイアログの「ファイルの種類」を「MicroSoft Excel(*.xls)」にして、指定のエクセルブックを選択。
3・「ワークシートインポートウィザード」画面が開きます。
4・画面1ページ目は取り込むシートの選択。「次へ」を押して2ページ目がご要望の設定です。「先頭行をフィールド名として使う」チェックボックスをONにすれば、これで先頭のフィールド名がデータとして扱われません。
5・新規に作成するのであれば、次ページから新規作成のプロセスで「フィールド名」を変更したりして取り込みます。
6・既存のテーブルにデータを追加する場合1つ問題があり、4で先頭行をフィールド名として扱う設定にしてありますので、取り込み先のテーブルのフィールド名と、Excelのフィールド名が一致している必要があります。これと取り込むデータが、テーブルのデータ型と一致していれば問題ないはず。
「ウィザード」を使ってやる場合はこのような流れになると思います。
もし、既存テーブルに取り込みでフィールド名が違う場合、一度別に新規にテーブルを作成してから、元テーブルにインサートするとか、前のデータはすべて要らない場合は、新規作成後リネームするなどいろいろ回避はできます。
「ウィザード」を使用していなくて、マクロの「ワークシート変換」や、VBAで「TransferSpreadSheet」を使用しているのであれば、「フィールド名の設定」を「YES/はい」にすれば、先頭行がフィールド名として扱われます。
「範囲/Range」を先頭行無しで選択して既存のテーブルにインポートすることはできないようです。(やれると思ったのですが・・・、融通きかねーなぁ^^;)
ただ、この場合も、「ウィザード」の6と同じ問題に引っかかるので、同じように回避策が必要になります。
すいません、取り留めの無い文章になってしまい、判りづらいかと思います。
補足、私の勘違い、意味がわからないなどありましたら、ご返答ください。
(朝はどうにもダメなんですよ。)
この回答への補足
おはようございます。
流れとても判り易いです。
さっそく試みてみましたが流れ3へ行く前に"外部テーブルのフォーマットが正しくありません。"とエラーが出てしまいます。
(:_;)エーン
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(データベース) ファイルメーカーへネットワーク上のexcelデータを開く 1 2023/06/28 20:08
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Chrome(クローム) ブラウザのブックマークの同期の仕方についてお尋ねします。 1 2022/08/10 16:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
ACCESSで400以上のフィールドが...
-
Accessのフィールド数が255しか...
-
ACCESSで和暦を西暦に・・・
-
アクセス エラーを数値「0」に...
-
accessで重複を防ぎたい
-
INSERT INTO ステートメントに...
-
【Access】フォームで自動計算...
-
アクセスで複数行の一括入力す...
-
ACCESS2000「定義されているフ...
-
ODBC--リンクテーブル'XXXX'で...
-
アクセスのテーブルデータをCSV...
-
ACCESSで表が作りたく、そのた...
-
ACCESSでテーブルのフィールド...
-
ACCESSでの改行コード
-
ExcelのデータをコピーでACCESS...
-
Accessで、固定アルファベット+...
-
アクセス A列コピー B列貼り...
-
固有レコード識別子の選択とは??
-
Access 昇順・降順で並び替え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
アクセス エラーを数値「0」に...
-
ACCESSでの改行コード
-
Accessのフィールド数が255しか...
-
accessのレポートで元になるテ...
-
Accessで、固定アルファベット+...
-
INSERT INTO ステートメントに...
-
Access 昇順・降順で並び替え...
-
ExcelのデータをコピーでACCESS...
-
SQLServer2005のSQL文での別名...
-
ACCESSで400以上のフィールドが...
-
アクセス VBAで列の入れ替...
-
IT用語について質問です。 以前...
-
【Access】フォームで自動計算...
-
accessで重複を防ぎたい
-
ACCESSでテーブルのチェックを...
-
ACCESSで和暦を西暦に・・・
-
アクセス メモ型 255文字...
-
主キーはオートナンバー型のID...
-
ACCESSでオートナンバーを任意...
おすすめ情報