
こんにちは、いつも質問ばかりですみません。
WINDOWS2000 で ACCESS 97 ユーザーです。
品番.CSVがあるとします(数千行)
品番は、
100
A100
のように、数字のみやローマ字が入り混じっています。
ACCESS 側に「品番」テーブルを作り、データ型をテキストにします。その上で
ファイル
-外部データの取り込み
-インポート
-次のテーブルに保存する「品番」
でテーブルを指定すると、きちんと入ります。
が、マクロで
テキスト変換
-区切り記号付インポート
-テーブル名「品番」
-ファイル名「品番.CSV」
-フィールド名の設定「はい」
で実行すると、
「品番インポートエラー」テーブルが別に作成され、
A100
を「データ型の変換エラー」と見なしています。
…どうしてでしょう。
No.3ベストアンサー
- 回答日時:
>DoCmd.TransferText acImportDelim, "", "TEMP", "D:\TEMP.CSV", True, ""
インポート定義を作成して
DoCmd.TransferText acImportDelim, "インポート定義名", "TEMP","D:\TEMP.CSV", True
ではどうでしょうか。
>A100を「データ型の変換エラー」と見なしています
数値文字混在のデータで型変換エラーが出でしまうのは最初のデータが数値の場合それ以降を数値として扱ってインポートしようとして文字があるとエラーになるような事例があったと思ったのですが前の事なので定かではありません。
もう一度、#2 さんが教えてくださった「外部テキストファイルとの接続方法」で、インポート定義名が空欄の場合に起こるエラーについて読みましたが、やっぱり定義名を設定するまでには至りませんでした(スキル不足)
が、
> 最初のデータが数値の場合それ以降を数値として扱って
もしかしたら2000以降のバージョンでは改善されているのかもしれませんが、どうもコレが犯人くさいです。
VBE で取り込み前に元CSV データを降順でソートし、ローマ字で始まる品番を上に持ってきてから取り込むと、エラーが起きないことがわかりました。
根本的な解決にはなってないですが(^^;)、助かりました。
ありがとうございました。
No.2
- 回答日時:
インポート定義を作成して保存し、
マクロでインポートする際に、
その定義を指定します。
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
の
「インポート/エクスポート定義の作成方法」
などを参考にしてみてください。
この回答への補足
ありがとうございました。
参考ページを教えていただきましたが、スキル不足で理解できません(泣)
VBA は、EXCEL 上ではそこそここなせますが、ACCESS はまだこれからの課題なんです。
とりあえず、マクロをモジュール化してみました。
(便宜上テーブル名をTEMP 、取り込みCSVもTEMP.CSV としています。)
DoCmd.TransferText acImportDelim, "", "TEMP", "D:\TEMP.CSV", True, ""
何が悪いのか、ご教授いただけるとありがたいです。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Microsoft Access エラー 3051
Visual Basic(VBA)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
エクセルからアクセスにインポートする際のエラーについて
Access(アクセス)
-
-
4
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
5
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
6
ACCESS VBAでのインポート
Access(アクセス)
-
7
ACCESS VBAでインポート定義の場所
Access(アクセス)
-
8
Access VBAでCSVファイルをインポートする方法
Access(アクセス)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
VBAでCSVファイルのインポートについて
その他(プログラミング・Web制作)
-
11
excelインポート時の「実行時エラー2391」を事前に検知する方法
Access(アクセス)
-
12
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS テーブルに2行目から取...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
エクセルからアクセスにインポ...
-
アクセスマクロで、csv データ...
-
Access2019でフォームから入力...
-
ASPからSQLserverへの重複デー...
-
データ読込時のタイムアウト
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
-
Access レコードを追加できませ...
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
-
ACCESS 複数テーブル・複数フィ...
-
INDEXの無効化
-
特定のスキーマのテーブルを一...
-
SQL*Loaderで、データを加工し...
-
postgreSQLのint型は桁数指定が...
-
検索結果の列数を動的に変更したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
ACCESS テーブルに2行目から取...
-
他ファイルのテーブルの情報を...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
アクセスマクロで、csv データ...
-
データ読込時のタイムアウト
-
mdb→csvへのエクスポートについて
-
Access2019でフォームから入力...
-
JSPでデータベース作成
-
テーブルのリンク(ACCESS)
-
VBAで データベースにデータを...
-
シーケンシャルアクセスについて
-
VBでCSVデータをMDB
-
ACCESSのリンクについて
-
Accessでボタンを押したらエク...
-
Accessの接続先をSQLサーバ...
-
jspのプログラムについて
-
アクセス初心者に注意点を教え...
-
画面から入力した値がDBに登録...
おすすめ情報