こんにちは、いつも質問ばかりですみません。
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Microsoft Access エラー 3051
Visual Basic(VBA)
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
VBAの実行時エラー'2522'について
Access(アクセス)
-
-
4
どこにもフォーカスを当てたくない
Access(アクセス)
-
5
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
6
ACCESS VBAでインポート定義の場所
Access(アクセス)
-
7
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
8
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
9
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
10
ACCESSでタイトルバーを非表示にする方法
Access(アクセス)
-
11
フォントの大きさ
Visual Basic(VBA)
-
12
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
13
Accessの桁区切りについて教えてください。
Access(アクセス)
-
14
エクセルからアクセスにインポートする際のエラーについて
Access(アクセス)
-
15
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
16
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
17
ファイル名にドットを使ったファイルのインポート(ACCESSマクロ)
Visual Basic(VBA)
-
18
アクセスVBAのMe!と[ ]
Access(アクセス)
-
19
Accessで別mdbのテーブルをコピー
その他(プログラミング・Web制作)
-
20
ACCESSでテーブルの一部だけを更新したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS テーブルに2行目から取...
-
C#でaccdbファイルのテーブルの...
-
エクセルからアクセスにインポ...
-
テーブルのリンク(ACCESS)
-
Accessの接続先をSQLサーバ...
-
アクセスマクロで、csv データ...
-
アクセス2007 エクセルへエク...
-
Access2019でフォームから入力...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
SQLでスキーマ名(所有者名)の...
-
ORA-00959: 表領域'****'は...
-
INDEXの無効化
-
datapumpの実行方法について
-
postgreSQLのint型は桁数指定が...
-
他の処理でselectさせないよう...
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
他ファイルのテーブルの情報を...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
ACCESS テーブルに2行目から取...
-
テーブルのリンク(ACCESS)
-
jspのプログラムについて
-
Accessでボタンを押したらエク...
-
アクセスマクロで、csv データ...
-
画面から入力した値がDBに登録...
-
[PG]AccessVBAでファイルのイン...
-
csvをSQLiteに取り込むと文字化...
-
グループ単位にCSVファイル...
-
アクセス初心者に注意点を教え...
-
Access2019でフォームから入力...
-
VBでCSVデータをMDB
-
ACCESSとエクセルのリン...
-
DataGridViewでの変更保存
-
データ読込時のタイムアウト
-
mdbファイルを試しに開いてみた...
おすすめ情報