• 締切済み

Accessでcsvを読み込ませるプログラム(VB)

noname#79209の回答

noname#79209
noname#79209
回答No.2

#1です。 予め、取り込む先のテーブルを作っておくほうが、楽かも知れませんね。 こまかな点は、 VBAのヘルプやネットで TransferTextメソッドをキーに参照してみてください。

関連するQ&A

  • CSVデータをAccessのテーブルとして取り込み

    アクセスを勉強しはじめた初心者です。 csv形式のデータをアクセスのテーブルとして取り込みたいのですが、日付データがうまく取り込めません。 csvでは日付データが「20110101」という形式になっているためだと思うのですが、これをアクセスに日付「2011/1/1」として取り込むことはできないのでしょうか? csvをエクセルで開いて書式を修正すればできたのですが、csvファイルがたくさんあるため、アクセス側でなんとかできないかと思っています。 よろしくおねがいします。

  • Access csvの取込 ファイルは任意でテーブルは指定したいのですが?

    Access初心者です。2003を使用しています。 csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。 csv → データ用テーブル → 作業用テーブル(実際使うテーブル) csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。) 「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。 どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか? また、マクロでは無理なようでしたらVBAでしたら可能でしょうか? よろしくお願いします。

  • PHPを使ってcsvファイルアップロードページ

    質問失礼します。 すごくおおざっぱな質問内容かと思うのですが、 ↓PHPでこんなしくみを作りたいと思っています・・・ +-----------------+ │ファイル名     │ [参照] [インポート] +-----------------+ ※しくみ 参照ボタンを押すと、デスクトップなどにあるcsvファイルを選択することができ、 選択した後インポートボタンを押すとMySQLにデータが保存される 検索の際に 「PHP csv 参照ボタン インポート」 などで検索しましたが、どうも思うようなページにたどり着けません。 1からこの仕組みを作るのは私の技術では難しいのですが、 参照になるページなどありましたら教えて下さい。 サンプルページも公開していると嬉しいのですが・・・ もしくは、検索方法でも大丈夫です。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Accessの使い道について。

    Accessの使い道で、 <単月だけのデータが毎月CSVで提供されるので、それを一つのテーブルに毎月インポートし蓄積する。> というようなことを考えています。要するに毎月2000件のデータがCSVに入っているなら、一つのテーブルのデータが一ヶ月に2000件ずつ増えていくわけです。私個人で使うのではなく、周囲のパソコンに詳しくない人達に簡単に使ってもらいたいものです。CSVは、カンマで区切られた項目数はかなり多いです。 まずこういう使い方をするなら、インポートを毎回手作業でやるのは大変なので、マクロを組まないと厳しいですよね?というか、CSVが毎月入手できるなら、それをAccessなどに別途インポートしようとする事自体が無駄でしょうか?なぜAccessにインポートしたいかと言えば、特定のコードのデータを複数年月に渡って抽出したいと思うからです。単月分のCSVしかないのではそれが出来ないと思うので。 私はまだAccessについては詳しくないのですが、Excelではマクロなしで相当頑張れても、Accessではマクロを知らないとやれることがすぐ限界に来るという認識でいいですよね?

  • AccessでのCSVファイル取り込みの自動化をしたいのですが。

    AccessでのCSVファイル取り込みの自動化をしたいのですが。 D:\DATA\というフォルダの下に「01」~「99」という99個のフォルダがあり、すべてのフォルダの中に「item.csv」「kaku.csv」,「kumi.csv」,「time.csv」,「total.csv」という存在します。 毎日01-99に順番にデータが格納されていきます。そのデータを毎日、Accessのテーブルに保存する作業を自動化(「01」~「99」のフォルダ指定)にしたいのですが出来ません。 どなたかご教授ください。ちなみにAccessのテーブルはCSVのファイル名と同じです。

  • ACCESSで、毎回、内容の変わるCSVの取り込み

    ACCESSで、毎回、内容の変わるCSVの取り込みを行いたいと思っています。 対象のCSVはフィールド名付きですが、順序が、  名前・年齢・職業だったり、  名前・職業だったり、  名前・年齢・趣味・職業だったりと、 エクスポートしたデータの内容によって、フィールドが変わります。 これを、必要なフィールドだけ(名前・職業だけ)をクエリで取り出したいのですが、なにか良い方法はありますでしょうか? ちなみに、テーブルのリンクで、必要なフィールドだけを取り出したりなどを試したのですが、データがずれて取り込まれたりと、うまくいきませんでした。

  • Access フィールドプロパティ《書式》について

    テーブル作成において、CSVデータの取り込みを行ったのですが、「生年月日」のフィールドにおいて、CSVデータ上の『20070808』をテーブル上では『2007/08/08』若しくは『H18/08/08』と表示させるにはどのように操作すればよいのでしょうか?  尚、CSVデータの書式は固定なので、テーブルの操作でしか変更が出来ません。

  • Access CSVデータのエクスポート

    Access CSVデータのエクスポート 下記のようにCSVデータをエクスポートしています。 最後をTrueに設定すると1行目がタイトルとしてエクスポート出来るはずが出来ません。 エクスポート定義が原因でしょうか? 対処方法を教えて下さい。 ※ちなみに下のようにエクスポート定義を使用しないと1行目をタイトルしてエクスポート出来ます。 DoCmd.TransferText acExportDelim, "エクスポート定義", "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True DoCmd.TransferText acExportDelim, , "テーブル名", Format(Now(), "yyyymmdd") & "test.csv", True

  • Access csvファイルの取り込み

    Access2021 2箇所の保存先の違う所からcsvファイルの取り込みについて伺います。 csv取り込みボタンは、2つ用意しています。 1つ目のボタンに、コード記述して動作確認は正常に動作して他のボタンも正常に動作。 2つ目にのボタンに、csvの格納パス名のみ変更後コード記述して動作確認したら全てのボタンが反応しなくなりました。 動作としては、削除クエリでテーブルのデータを削除してから、指定したフォルダからcsvファイルを選択して取り込ます。 同じテーブルを使用して、格納先の違うcsvファイルを使用する操作になります。 コードは、以下の通りです。 ①ボタン1 Private Sub コマンド61_Click() '削除クエリ実行 DoCmd.SetWarnings False DoCmd.OpenQuery "テーブルデータ削除" DoCmd.SetWarnings True Dim msg As String msg = getFilePicker If msg = "" Then Exit Sub On Error GoTo err_sample DoCmd.TransferText acImportDelim, , "インポート先テーブル名", msg, True MsgBox "インポートが終了しました。", vbInformation + vbOKOnly, "処理完了" Exit Sub err_sample: Select Case Err.Number Case 3011 MsgBox "ファイルが見つかりません。処理を終了します。" Case Else MsgBox Err.Number & ":" & Err.Description End Select End Sub Function getFilePicker(Optional dTitle As String = "ファイル選択") '2003以降 Const msoFileDialogFilePicker As Integer = 3 Dim fDlg As Object Set fDlg = Application.FileDialog(msoFileDialogFilePicker) fDlg.Title = dTitle fDlg.InitialFileName = "csvインポートデータのフォルダパス名①" fDlg.AllowMultiSelect = False fDlg.Filters.Clear fDlg.Filters.Add "すべてのファイル", "*.*" fDlg.Filters.Add "CSV ファイル (*.csv)", "*.csv" fDlg.FilterIndex = 1 If fDlg.Show Then getFilePicker = fDlg.SelectedItems(1) Else getFilePicker = "" Me.Refresh End Function ②ボタン2 Private Sub コマンド62_Click() '削除クエリ実行 DoCmd.SetWarnings False DoCmd.OpenQuery "テーブルデータ削除" DoCmd.SetWarnings True Dim msg As String msg = getFilePicker If msg = "" Then Exit Sub On Error GoTo err_sample DoCmd.TransferText acImportDelim, , "インポート先テーブル名", msg, True MsgBox "インポートが終了しました。", vbInformation + vbOKOnly, "処理完了" Exit Sub err_sample: Select Case Err.Number Case 3011 MsgBox "ファイルが見つかりません。処理を終了します。" Case Else MsgBox Err.Number & ":" & Err.Description End Select End Sub Function getFilePicker(Optional dTitle As String = "ファイル選択") '2003以降 Const msoFileDialogFilePicker As Integer = 3 Dim fDlg As Object Set fDlg = Application.FileDialog(msoFileDialogFilePicker) fDlg.Title = dTitle fDlg.InitialFileName = "csvインポートデータのフォルダパス名②" fDlg.AllowMultiSelect = False fDlg.Filters.Clear fDlg.Filters.Add "すべてのファイル", "*.*" fDlg.Filters.Add "CSV ファイル (*.csv)", "*.csv" fDlg.FilterIndex = 1 If fDlg.Show Then getFilePicker = fDlg.SelectedItems(1) Else getFilePicker = "" Me.Refresh End Function ご教授の程、宜しくお願い致します。

  • javascriptでCSVを呼出しvlookup

    javascriptでCSVデータをを呼出して、あるinputに入力したデータでCSVをvlookupし、該当した行のある列を別のinputに書くということがしたいです。 こちらの記事はテーブルを参照していますが、 http://okwave.jp/qa/q6750899.html 外部CSVデータを直接読むコードはないでしょうか。 どうか助けてください。 よろしくお願いします。