Accessでパイプ区切りのテキストファイルを取り込む方法

このQ&Aのポイント
  • Accessのテーブルにパイプ(|)区切りのテキストファイルを自動で取り込む方法について教えてください。
  • パイプ区切りのファイルを取り扱う際、パイプをカンマに置換してから取り込むほうが良いのでしょうか。
  • VBAを使用したテーブルへの取り込み方法についても教えてください。
回答を見る
  • ベストアンサー

【Access】パイプ区切りのテキストファイル

パイプ(|)区切りのテキストファイル(.txt)をAccessのテーブルに自動で取り込みを行ないたいです。 パイプ区切りのファイルを取り扱うに当たり、前提としてパイプはカンマに置換した後、取り込みを行った方が良いのでしょうか。 また、テーブルへの取り込み方法で良い手段のある場合はご教示ください。 取り込み方法としては上に書いた通り自動で、VBAを組もうと思っています。ソースコードの組み方もやや苦戦中なので良いコードがあればご教示頂きたいです。 詳しい方、よろしくお願いいたします。 ※ファイルイメージ ファイル名:パイプ区切りファイル.txt HDR:あああ|いいい|ううう|えええ|おおお|かかか|ききき 明細1:明細1あ|明細1い|明細1う|明細1え|明細1お|明細1か|明細1き 明細2:明細2あ|明細2い||明細2え|明細2お||

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

  • ベストアンサー
  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

外部データの取り込みでテキストインポートを選択し、ダイアログに沿って区切り文字にパイプを登録します。インポートする最後のOKのところで定義の保存を押してインポート定義を登録しておきます。その後、マクロでインポートするテーブルのデータ削除とテキストインポートを登録し、そのテキストインポートの定義に先ほどのインポート定義を登録しておけば、マクロを動かすたびに、テーブルがクリアされて新しいデータがインポートされます。

sunflower153
質問者

お礼

やりたかったことができました。 ご回答ありがとうございました。

関連するQ&A

  • ACCESSデータベースのインポート 

    ACCESSデータベースでインポートしたいデータ(拡張子がlog)があるのですが、そのままだと文字列が区切られていなくテーブルに入らないので、毎回 しょうがなく事前に置換ツール等を使ってカンマ区切りにしてからインポートしています。 モジュールなどを使って、インポートする前のデータをテーブルに入れやすい 形(カンマ区切りのtxtファイルぐらいしか思いつかないのですが。。。)に置換・変換っていうのはできるんでしょうか??教えて下さい。。

  • ACCESS TAB区切りのテキストのインポート

    お世話になります。 ACCESS TAB区切りのテキストファイルのインポートができません。 タブ区切りのテキストファイルを 外部データ⇒テキストファイル‥‥と進めばインポートできるのですが DoCmd.TransferText acImportDelim, , "カテゴリ", "D:\okwave\テキスト\カテゴリ.txt", True では 実行時エラー '2391' 貼り付け先の'カテゴリ'には'カテゴリコードカテゴリー名親カテゴリ成分フラグ階層'フィールドがありません となります。 このテキストファイルを以下のようにカンマ区切りにするとインポートされます。 ------------------------------------------------------ カテゴリコード,カテゴリー名,親カテゴリ,成分フラグ,階層 01,化粧品,01,0,0 ----------------------------------------------------- インポートしたテーブル DoCmd.TransferText acExportDelim, , "カテゴリ", "D:\okwave\テキスト\カテゴリ.txt", True でエキスポートすると次のように変化しています。 -------------------------------------------------- "カテゴリコード","カテゴリー名","親カテゴリ","成分フラグ","階層" "01","化粧品","01",0,0 --------------------------------------------------------------- PCは Windows7,Access2010 です。 よろしくお願いいたします。

  • PHP+MySQL でのcsvファイルインポート

    PHP + MySQL で、他システムから出力されてきたcsvファイルをテーブルへインポートしたいと考えています。 LOAD DATA INFILE で取り込もうとしていますが、対象のcsvファイルの特徴のためにうまく行かず苦戦しています。 取り込みたいファイルは、以下のようになっています。  ・各フィールドが "(ダブルクォート) で囲まれている  ・各フィールドは ,(カンマ) で区切られている  ・金額の項目には、桁区切りのカンマが入っている  例) "0001","あああああ",…(中略)…,"105,000","100,000","5,000",…     コード 項目名            税込み  税抜き 消費税  というような形です。    困っているのは、金額に使われている、桁区切りのカンマの処理についてです。  目的としては、データベースへ取り込むときには 105,000 は 105000 として取り込めればいいのですが、他システムから、桁区切りがなされた状態でcsvが作成されてきています。 LOAD DATA INFILE test.csv INTO TABLE data_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' IGNORE 1 LINES;  各項目のダブルクォートはENCLOSED BY で、項目を分けるカンマはTERMINATED BYで処理できていると思うのですが、金額の区切りに使われているカンマと項目の区切りのカンマを区別させられずに苦戦しています。  事前にcsvを加工するのも考えてはいるのですが、なるべくcsvを加工せずにそのまま取込したいと思います。  何か、簡単に回避できる方法等があればご教示願います。  宜しくお願いします。

    • ベストアンサー
    • PHP
  • EXCEL VBAでカンマ区切りテキストファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub

  • 【Access97】取り込みエラー

    【Access97】取り込みエラー txtファイルで保存してあるデータをAccessへ取り込む作業をしています。 項目毎の区切りはカンマ区切(,)になっており、データ内容は「数値」「テキスト」「日付」等各種あります。 txt内の「日付」形式が『d-m-y』なのでAccessのフィールド書式も『日付(M)』にしてあるのですが取り込みエラー(データ型の変換エラー)となってしまいます。 そこで、txtファイルをExcelで開いて[データ-区切り位置]で区切り、書式設定で「日付」を『yyyy/mm/dd』に変更してからAccess(フィールド書式を『日付(S)』に変更)へコピーしています。 <例> txtデータ:01-AUG-10 → Access:2010/08/01 この作業を毎回しているのですが、Excel上ではなくtxt上で直接『d-m-y → yyyy/mm/dd』に変換、もしくは『d-m-y』のままtxtから直接Accessに取り込む方法はありませんか? 尚、データは数千件あり「日付」もバラバラな為”置換”機能だとかなりの時間がかかってしまうので”置換”機能は使っていません。

  • テキストファイルの置換

    テキストファイル"A.TXT"があります。 ファイルの中は項目を「,」(カンマ)で区切られています。 3個目の「,」(カンマ)の後に「日付」が入っていますが、"H21.2.5"や"H21.2.10"となっています。 1桁目は必ず"H"です。(平成の"H") ex. あああああ,AAA,H21.2.5,ああああああ いい,BBBBB,H21.2.10,いいいい この"H21.2.5"を"090205"と置換したいのですが、スキルがないため方法がわかりません。 和暦→西暦下2桁 月→2桁(1桁の時は頭"0") 日→2桁(1桁の時は頭"0") すでにあるファイルを処理するのであれば、Excel読み込み後に置換処理などでなんとかなると思いますが、日次で毎日ファイルが作成されるため、自動的に処理したいのです。 VBSなどのプログラムで一括で処理できないでしょうか。 お力添えをいただければありがたいです。 よろしくお願いいたします。

  • vbaでテキストファイル(*.txt)を取込みたい

    vba初心者です。 Application.Dialogs(xlDialogOpen).Showで選択したテキストファイル(***.txt)をテキストファイルウィザードで、タブ、カンマ、スペース区切りで、エクセルファイルに取り込むマクロを組みたいのですが? 何度やってもうまくいきません。 ご教示願えないでしょうか! excel2002を使用してます。 よろしくお願いします。

  • タブ区切りファイルからカンマ区切りファイルに変更する方法

    よろしくお願いします。 タブ区切りしてあるテキストファイルを、一気に カンマ区切りのファイルにする方法はありますでしょうか? どなたかご存知の方お教えください。

  • VBAでMSアクセスに、Tab区切りのテキストを入力できますか??

    VBAでMSアクセスに、Tab区切りのテキストを入力できますか?? VBAの「DoCmd.TransferText acImportDelim・・・」を使って、 「,」カンマ区切りテキストファイルをインポーしようとしても、 フィールドが一つになってしまいます。 テキストファイルのTabを,に変えると、正常に読めます。 Tab区切りのままで、DoCmd.TransferText ・・・ を使って、正常に 読み込みできるでしょうか?? ご教示をお願いします。

  • エクセルから タブ区切りTXTファイルへの

    エクセルから タブ区切り TXTファイル を 作りたいのですが 上のメニューバーには 取り込みはあるんですが、出力なる ところが 見つかりません。 何かの見落としかと思うのですが よろしくどうぞ

専門家に質問してみよう