- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessでCSVをインポートしたい(VBA))
AccessでCSVをインポートしたい(VBA)
このQ&Aのポイント
- AccessでCSVをインポートするためのVBAプログラムを作成しましたが、エラーメッセージが表示されています。具体的には「ファイル名を指定してください」というメッセージボックスが表示されます。
- VBAプログラムのコードを見直しましたが、特に問題は見つかりませんでした。ファイルの選択ダイアログは正常に表示されるため、ファイルの指定に問題はないようです。
- 初心者のため、何が原因でエラーが発生しているのか分かりません。プログラムの動作を確認しながら、問題を解決する努力を続けます。ご教授いただけると幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No2です。本来は実行すると真っ先に 「変数の宣言がされていません」という エラーが出るはずです。 Option Explicit は、コード表の「ツール」から「オプション」を選択し、 「編集」の項の「変数の宣言を強制する」にチェックが 入っているか確認してください。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
回答No.2
FileName が変数宣言されていません。 Public Function SplitTest() で Dim FileName As String を追加。 コードを書くときは、必ず Option Compare Database Option Explicit をモジュールの先頭に設定しておくこと。
- o_chi_chi
- ベストアンサー率45% (131/287)
回答No.1
>Set rst = dbs.OpenRecordset("Data") 追加しようとしているテーブル名が"Data"でないのでは?
質問者
お礼
o_chi_chiさん 早速の回答ありがとうございます。 開くテーブル名は一致してたので問題はないかと思います。
お礼
piroin654さん 分かりやすい回答ありがとうございます。 以下のように変更しました Option Compare Database Option Explicit Public Function SplitTest() 'On Error GoTo myError Dim dbs As Database Dim rst As Recordset Dim varData As Variant Dim lngFileNum As Long Dim strData As String Dim xSQL As String Dim FileName As String FileName = TestGetFileName '入力元CSVファイルを開く lngFileNum = FreeFile() Open FileName For Input As #lngFileNum ------------------以下略------------------ csvファイルには 00210,137,1,0,700,ゲンキンAAAAA,ゲンキンイコウ というデータが1件入っておりますが 実行した際、「このコレクションには項目がありません。」 と出てしまいますね。 ここから先は自分の力で頑張りたいなと思います。
補足
と思ったら設定ミスだったようです。 無事解決いたしました本当にありがとうございました。 2011年8月1日 20:03 筆