
こんにちは。
私は今AccessVBAである管理用データベースをつくろうと思っているのですが、
一番最初の作業であるインポートがどうしてもうまくいきません。
CSVファイルのインポートで、「TransferText」を使うところまではわかっているのですが、
引数の書き方がヘルプを見てもちょっとわかりにくくて・・・。
どなたかわかりやすくご教授願えないでしょうか。
ちなみに私なりにインポートのプログラムを書いたら「実行時エラー'2391' 貼り付け先の'kyk1'テーブルには'F1'フィールドがありません」と出ました。
これは一体どういう意味なんでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは。
#2 の Wendy02です。
>CSVファイルにはフィールド行はありませんので、あの部分は「False」で正しいものと私も思っていましたがあのエラーが出るんですよ。
既存のテーブルに入れるのでしたら、エラーがでます。仮のフィールドが必要ですからね。
#3 さんが紹介してくれた内容でも、
>元になるデータと完全にフィールド名を一致させておく必要があります。
というわけで、何もない状態では、DBデータとして受け入れられないわけですね。ダミーテーブルがよいのでは、とは思ったのですが、私には、#3さんのインポート定義が、VBAで有効なのか、良く分かりません。
私は、あくまでも、VBAの側からみた話ですが、CSVのフィールドが決まっているなら、一行目をテキストストームなどで、フィールドのテキスト・データを加えてから、改めてインポートしても、よほど、大きなものでない限りは、そんなに問題じゃないよう思います。
ADO は、DB系のVBA/VBでは必須なのですが、詳しい内容は、谷尻かおりさんの本などに出てきます。上記で述べたよりは、遥かに難しくなります。
簡単な読み物でしたら、ADO入門講座(Access Club)
http://www.accessclub.jp/ado/index.html
があります。
No.3
- 回答日時:
あらかじめ「インポート定義」を作成しておき、
第2引数を省略せずに指定します。
「インポート定義」の作り方はこちらを参考に。
http://www.microsoft.com/japan/technet/archive/c …
No.2
- 回答日時:
こんにちは。
私は、Access は、門外漢ですが、
例えば、
DoCmd.TransferText acImportDelim, , "kyk1", strFileName, False
とした時に、
>貼り付け先の'kyk1'テーブルには'F1'フィールドがありません」と出ました
というのは、まず、HasFieldName (上記では、Falseとしている)では、先頭行をフィールド名として使用しませんので、仮のフィールドのF1 を探そうとするけれども、kyk1 テーブルには、F1 フィールドがありませんから、エラーが返ってくると思います。
CSV データにkyk1テーブルと同じフィールドがあると仮定すれば、
DoCmd.TransferText acImportDelim, , "kyk1", strFileName, True
としたら、出来るはずです。(ダブりなどがあれば、そのデータは弾かれます)
フィールド行がなければ、ダミーテーブルを作っておくほかには、TransferText では出来ないように思います。もしVBAが詳しい方なら、最初から、ADOを使ったほうが早いような気がします。
そうでなければ、インポート・ウィザードを使うことになると思うのです。
詳しくご回答いただきありがとうございます。
CSVファイルにはフィールド行はありませんので、あの部分は「False」で正しいものと私も思っていましたがあのエラーが出るんですよ。
一度、ファイル→外部データの読込みからインポートし、テーブルのデータだけを消して、
再度VBAでインポートしようとしたのですが同じエラーがでました。
もう原因不明なのでインポート・ウィザードを使おうとは思っています。
ひとつ教えていただきたいのですが、ADOとは何でしょうか?自分が買ったVBAの参考書にも載ってはいるんですが、少ししか載ってなくて・・・。
No.1
- 回答日時:
こちらを参考に。
http://www.accessclub.jp/bbs3/0115/superbeg40731 …
まず、「テキスト変換」マクロで作ってみて、
それを VBのコードに変換しましょう。
多くのアクセスプログラマがやってきたことです。
参考URL:http://www.accessclub.jp/bbs3/0115/superbeg40731 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- XML PHP.laravelについて 1 2023/07/06 15:26
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) Power Query で取り込むデータのパスを相対パスに出来ませんか? 3 2022/04/05 18:31
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Chrome(クローム) ブラウザのブックマークの同期の仕方についてお尋ねします。 1 2022/08/10 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
excelインポート時の「実行時エラー2391」を事前に検知する方法
Access(アクセス)
-
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
-
4
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
5
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
6
access テキストボックスの値取得
Access(アクセス)
-
7
ACCESS VBAにてCSVファイルを並び順を変えずにインポートするにはどうしたらよいでしょうか?
Access(アクセス)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
10
アクセスマクロで、csv データを取り込むときに起こるエラー
Access(アクセス)
-
11
新規レコード行を非表示にしたい
Access(アクセス)
-
12
アクセスで外字を探す方法
Access(アクセス)
-
13
インポート時のエラー「データ型の変換エラー」
Access(アクセス)
-
14
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
15
アクセスと同フォルダのCSVファイルをインポートしたい
Access(アクセス)
-
16
ファイル名にドットを使ったファイルのインポート(ACCESSマクロ)
Visual Basic(VBA)
-
17
ACCESS で 項目名を出力せずにエクスポートしたい
その他(データベース)
-
18
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
19
Access2010 「演算子がありません」エラー
その他(データベース)
-
20
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
奇数・偶数ページごとに差し込...
-
クエリで割り算する方法を教え...
-
「Access2007」でレポートが作...
-
ACCESSで条件によってフォーム...
-
カレントフィールドの、青い枠...
-
ACCESS2000 で困っています・・・
-
Access VBAでCSVファイルをイン...
-
ワードファイルの文字数制限ロ...
-
Accessの日本語フィールド名
-
ACCESSで 文字と文字の間の余...
-
sqlserverにはグループ集計のfi...
-
Accessの使い方に関してご質問...
-
ACCESS2007 ピボットテーブル...
-
Acsess アクセス のクエリで...
-
word 2013 のラベル印刷で設定...
-
英数字のチェックをしたい ACC...
-
ジャッカルのデラクーは何グラ...
-
Access InStr関数 AかBが入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
クエリで割り算する方法を教え...
-
エクセルデータをワードで差し...
-
Accessのハイパーリンクをクリ...
-
ACCESSのデータに自動で半角ス...
-
カレントフィールドの、青い枠...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
sqlserverにはグループ集計のfi...
-
ACCESSで条件によってフォーム...
-
「Access2007」でレポートが作...
-
Word差し込み印刷のハイフン(...
-
クエリーで、全角混じりデータ...
-
奇数・偶数ページごとに差し込...
-
Acsess アクセス のクエリで...
-
実行時エラー '3464': 抽出条件...
-
アクセスの操作について
-
アクセスのクエリでパラメータ...
-
Accessの日本語フィールド名
おすすめ情報