• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Access2010】CSVのインポートについて)

【Access2010】CSVインポート | インポートの方法とフォーマットの解説

このQ&Aのポイント
  • Access2010でのCSVファイルのインポート方法と、特定のフォーマットのCSVファイルをインポートする際の注意点について解説します。
  • 特定のフォーマットのCSVファイルをインポートする際には、XXXXX部分を削除する必要がありますが、毎回削除するのは面倒です。
  • しかし、Access2010では、XXXXX部分を削除せずにCSVファイルをインポートする方法があります。ここではその方法について詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

CSV ファイルを、ヘッダなしファイルとして解釈させます。 以降得られるフィールド名は、F1、F2、・・・ 不要な XXXXXX 部分は、2番目のフィールド以降 Null で除外判別できます。 2行目の項目名部分の項目1は、 おそらく、以降のデータを解釈した際に数値と解釈されると思うので (項目1 部分が数値として解釈されたのなら Null に置き換わります) 項目1,項目2,項目3 ↓ Null,項目2,項目3 解釈が違っても項目1の有効なデータ部分は数値の様なので・・・ そこで、IsNumeric(F1) AND F2 Is Not Null の条件を付加して インポートしたいテーブルと項目を列挙し、 それに対応する F1、F2、・・・・を記述した SQL を実行させれば終わりです。 以下は、項目3 までの記述になりますが Public Sub Samp1()   Const CSQL As String = "" _     & "INSERT INTO テーブル名(項目1,項目2,項目3) " _     & "SELECT F1, F2, F3 FROM [{%1}] IN " _     & "'{%2}'[text;FMT=Delimited;HDR=No;IMEX=1] " _     & "WHERE IsNumeric(F1) AND F2 Is Not Null;"   Const CPATH As String = "CSVファイルがあるフォルダへのフルパス"   Const CNAME As String = "CSVファイル名"   Dim sSql As String   sSql = CSQL   sSql = Replace(sSql, "{%1}", CNAME)   sSql = Replace(sSql, "{%2}", CPATH)   CurrentDb.Execute sSql End Sub ※ CSV ファイルのパスが D:\tmp\Hoge\テスト.csv だったら CPATH は、D:\tmp\Hoge CNAME は、テスト.csv

関連するQ&A