• 締切済み

ACCESSに外部テキストを取り込みたい

外部の固定長テキストファイルが複数存在します。 ひとつのファイルの中には複数の「市場」の情報があり、下記のように「市場名」と「商品の内容」が市場ごとに記述されています。 ===============ここからがテキスト================ 有明 ------------------------------   商品名 商品番号  重量  サイズ    靴    1501    610   80    鞄    1502    290   20    服    1503    940   30   帽子    1504    130   10 築地 ------------------------------   商品名 商品番号  重量  サイズ    綿    2201    210  800   ポリ    2202    890  800   羊毛    2203   140   800   クリ    2204    330  800 神戸 ------------------------------   商品名 商品番号  重量  サイズ    ・・・    ・・・     ・・・   ・・・ 有明 晴れ 築地 曇り 神戸 晴れ ===============ここまでがテキスト================ このテキストからの中から築地の情報だけをVBAで抽出して以下のようにテーブルに並べるにはどのような方法で行うのでしょうか? -------------------------------------------- 市場名 天気 商品名 商品番号 重量 サイズ -------------------------------------------- 築地  曇り   綿   2201   210   800 築地  曇り  ポリ   2202   890   800 築地  曇り  羊毛   2203  140    800 築地  曇り  クリ   2204   330   800 -------------------------------------------- 

みんなの回答

  • N64
  • ベストアンサー率25% (160/622)
回答No.2

>こういうことはAccessでは不可能なのですかね・・・。 もちろん、可能です。テキストファイルを読んで解析するだけですから、ファイル数が数千あるなら、そういうロジックを考えても、もとは取れるでしょう。 VBAには、OpenTextfileメソッドやReadメソッド、文字列を加工する関数など、そのほか、使えそうなツールがそろっています。あと、これらのファイルをどう解析するかは、工夫次第でしょう。あるいは、フリーウエアやサンプルプログラムで、適当なものがないか、検索してみるのも、やって見て損はないでしょう。

suffre
質問者

お礼

ありがとうございます。いろいろ調べてみたところできそうなかんじでした。 しかしまだまだスキルが足りないので勉強を重ねていきたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • N64
  • ベストアンサー率25% (160/622)
回答No.1

手作業になるかも知れませんが、 私なら、まず、TEXTファイルをExcelで読み取り、 確認してから、VBAで、Accessへ送り加工します。

suffre
質問者

お礼

お返事ありがとうございます。 手作業ではできないほどのファイル数(数千)があります。 こういうことはAccessでは不可能なのですかね・・・。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスでの入力を簡単に行いたいです

    よろしくお願いします。 t商品番号というテーブルがあります。 フィールドは『注文番号』と『商品名』です。 今フォームを新たにつくり、テキストボックス『注文番号』と『商品名』を作りました。 注文番号を入れると商品番号が自動で入るように、テキストボックス商品名のコントロールソースに =DLookUp("商品名","t商品番号","注文番号=" & [注文番号]) と入れましたが、#Errorとでて、注文番号をいれても商品番号が自動で入力されません。 ご意見をよろしくお願いします。

  • accessのコンボボックスについて

    質問があります。下記のようなテーブルがあります。 ▼商品情報テーブル  ・商品ID (番号はオート。キー)  ・商品番号(自社で設定している商品ごとの番号)  ・商品名 これを「受注伝票」フォームに使用します。 商品番号をコンボボックスで指定すると 商品名が別のテキストボックスに自動で表示。 もし登録されていない商品の場合には 商品番号と商品名をその場で登録して商品情報テーブルに反映させたい。 コンボボックスで選択する際はID順ではなく、 商品番号の昇順で並び替えたいと思います。 商品番号は数値ではなくテキストになっています。 弊社では「i0001、i0002...」のように、商品番号の頭に「i」が付くからです。 ACCESSのバージョンは2002です。 どうぞよろしくお願いいたします。

  • アクセス Dlookup関数の表示が更新されない

    access2000です。 データ入力用のフォームでDlookupを使い、あるテキストボックスに商品番号を入力すると、隣のテキストボックスに、商品番号からテーブルを検索して該当する商品名を表示するようにしました。 商品番号を入力するテキストボックスには更新後処理でリクエリするマクロを設定しています。 ところが、番号を入力してenterを押し次のテキストボックスにカーソルが移動しても商品名が出るはずのテキストボックスに何も表示されません。 しかし、クリックして商品名のテキストボックスをカーソルを移動した瞬間にちゃんと表示されるのです。 今までに何度かこの方法でうまくいっているので、原因がつかめません。超初心者の質問ですがよろしくお願いいたします。

  • ACCESSで連番を振りなおす

    access初心者です。 行番号というテキスト型のフィールドがあり、連番を入力してあるのですが、チェックの過程で一時的に同じ番号を入力する事があります。 それを最終的に、フォーム上のボタンを押して連番に戻したいのですが、どうすればいいかわかりません。 ご回答よろしくお願いします。 [行番号][商品名]   1    あ   2    い   3    う   4    え 上記のデータがチェックの過程で下記になります。 [行番号][商品名]   1    あ   2    い   2    いい   3    う   4    え 上記の状態を、ボタンを押すと下記になるようにしたいのです。 [行番号][商品名]   1    あ   2    い   3    いい   4    う   5    え

  • アクセス2003 ルックアップについて

    下記のテーブルで次のようなことをしています。 <商品分類> ・商品ID(オートナンバー)・・・入力順に自動で入ってます。 ・コードA(数値型)・・・商品の種別を約10種類の番号で振り分けています。 ・コードB(数値型)・・・メーカーごとに分けられるように番号をつけています ・コードC(数値型)・・・コードA・Bが共通なもの同士を個別番号で分けています。 ・商品名(テキスト型)・・・商品名を入力しています。 ・商品コード(テキスト型)・・・仕入先からの伝票上のコードを入力しています。 ・備考(テキスト型)・・・商品名・商品コードだけでは分かりにくい時の補足を記入しています。 <仕入記録> ・仕入記録ID(オートナンバー)・・・入力順に自動で入ります。 ・仕入年月日(日付型)・・・仕入年月日を入れています。 ・仕入先(テキスト型)・・・仕入先を入力しています。 ・商品名(ルックアップ/テキスト型)・・・<商品分類>の商品名が表示されるようにしています。 ・数量(数値型)・・・商品の数量を入れています。 ・単価(通貨型)・・・商品の単価を入れています。  現在<商品分類>に約1000商品のデータを入れてあります。 ルックアップの表示はコードA・B・Cの昇順で表示し、選択後は商品名が表示されるようにしてあります。 (コードA~C・商品名・コードA~Cの7列で最初の3列の列幅を0cmにしてます) (1)この状態で<商品分類>の商品名やコードA~Cを書き換えた場合、仕入記録の商品名にはすべて反映されるのでしょうか? 特にコードCを変えた場合はどうなるんでしょうか? 例:コードA  コードB  コードC  商品名     10     5     1   大根              ↓    コードA  コードB  コードC  商品名      10     5     1  ニンジン    コードA  コードB  コードC  商品名      10     5     2    大根 上記のようにした場合、既に入力された<仕入記録>のデータの商品名大根はどうなるんでしょうか?  (2) <仕入記録>でクエリを作成し、商品ごとの仕入金額を出そうとしているんですが、(1)のようなデータの変更をした場合どのように反映されるんでしょうか? 書き方がややこしいと思いますが宜しくお願いします。

  • テキストファイルを自動編集したい

    注文ファイルがプロバイダのサーバに入ります。 ファイルはテキストファイルで、下記のようになっています。 1注文コード:123 1商品名:納豆 1サイズ:中 1数量:10 2注文コード:234 2商品名:納豆 2サイズ:大 2数量:5   途中省略 5注文コード:0 5商品名: 5サイズ: 5数量:0 住所: 氏名: 電話: 備考: といった感じで、規則的なテキストファイルですが メールに編集するときに、コピペで作業するのが面倒です。 エクセルやワードの機能などで、返信用メール文書を自動 編集させたいのですが、可能でしょうか? テキストファイルを整形するだけでもかまいません。 (あとはメールにコピペしますので。) マクロで作成する場合は、ヒントをください。 また、フリーソフト等で自動編集が実現できるものがあれば 教えてください。 よろしくお願いいたします。

  • アクセス2000です。クエリについて教えて下さい!!

    アクセス初心者です。クエリについて教えて下さい!! 注文書を作成できるものを作りたいのですが、 テーブルで M商品 ・グループコード(テキスト型) 主キー ・品番(数値型) 主キー ・サイズ(テキスト型) 主キー ・品名(テキスト型) ・単位コード(数値型) ・現在庫数(テキスト型) ・下限在庫数(テキスト型) T注文 ・伝票No.(テキスト型) 主キー ・日付(日付/時刻型) ・注文状況(数値型) ・希望納期(日付/時刻型) ・仕入先コード(テキスト型) ・納入場所コード(数値型) ・担当者コード(テキスト型) ・備考(メモ型) WT明細 ・伝票No.(テキスト型) 主キー ・行番号(数値型) 主キー ・グループコード(テキスト型) ・品番(数値型) ・サイズ(テキスト型) ・数量(テキスト型) ・単位(テキスト型) ・備考(テキスト型) T単位 ・単位コード(数値型) 主キー ・単位(テキスト型) があって クエリで WT明細とM商品とT単位を結合して ・伝票No. ・行番号 ・グループコード ・品番 ・サイズ ・品名 ・数量 ・単位コード ・単位 ・備考 としているのですが、フォームで入力する時に グループ、品番、サイズに値を入力したときはちゃんと品名がでるのですが、サイズに何も記入しないときは空白になるんです。 説明すると M商品 グループコード 品番 サイズ 品名 15 、3、 25.5bl、 靴黒25.5 の時は「靴黒25.5」が品名にでてくるのですが グループコード 品番 サイズ 品名 99、 999、(サイズ空白)、 その他 の時に「その他」が品名にでてきません。 どうしたらいいですか? ちなみに「その他」と出てきても名前を変更する場合がありますが そのときにその場では「その他」を「靴エナメル」も変更しても M商品の「その他」は「その他」のままにしておきたいです。 分かりづらい説明ですが、どなたかご教授下さい。

  • ACCESS フォームの入力で

    フォームの入力でコード番号を入力すると項目が自動入力出来るようにしたくて 2つ目のテキストボックスのコントロールソースに=DLookUp("[商品名]","テーブル2","[商品コード] = [コード] ")と入力したのですが 1つ目のテキストボックスに入力すると そのときは2つ目のテキストボックスは白紙で 一度フォームを閉じてから立ち上げると2つ目のテキストボックスにも入力されています。 これは閉じないと入力されないのでしょうか? 1つ目を入力した後に表示されるようにしたいのですが・・・。 よろしくお願いします。

  • アクセス初心者です!!クエリについて教えて下さい!!

    アクセス初心者です。クエリについて教えて下さい!! 注文書を作成できるものを作りたいのですが、 テーブルで M商品 ・グループコード(テキスト型) 主キー ・品番(数値型) 主キー ・サイズ(テキスト型) 主キー ・品名(テキスト型) ・単位コード(数値型) ・現在庫数(テキスト型) ・下限在庫数(テキスト型) T注文 ・伝票No.(テキスト型) 主キー ・日付(日付/時刻型) ・注文状況(数値型) ・希望納期(日付/時刻型) ・仕入先コード(テキスト型) ・納入場所コード(数値型) ・担当者コード(テキスト型) ・備考(メモ型) WT明細 ・伝票No.(テキスト型) 主キー ・行番号(数値型) 主キー ・グループコード(テキスト型) ・品番(数値型) ・サイズ(テキスト型) ・数量(テキスト型) ・単位(テキスト型) ・備考(テキスト型) T単位 ・単位コード(数値型) 主キー ・単位(テキスト型) があって クエリで WT明細とM商品とT単位を結合して ・伝票No. ・行番号 ・グループコード ・品番 ・サイズ ・品名 ・数量 ・単位コード ・単位 ・備考 としているのですが、フォームで入力する時に グループ、品番、サイズに値を入力したときはちゃんと品名がでるのですが、 サイズに何も記入しないときは空白になるんです。 説明すると M商品 グループコード 品番 サイズ 品名 15 、3、 25.5bl、 靴黒25.5 の時は「靴黒25.5」が品名にでてくるのですが グループコード 品番 サイズ 品名 99、 999、(サイズ空白)、 その他 の時に「その他」が品名にでてきません。 どうしたらいいですか? ちなみに「その他」と出てきても名前を変更する場合がありますが そのときにその場では「その他」を「靴エナメル」も変更しても M商品の「その他」は「その他」のままにしておきたいです。 分かりづらい説明ですが、どなたかご教授下さい。 補足 SQL?を載せます。宜しくお願いします。 SELECT WT明細.伝票No., WT明細.行番号, WT明細.グループコード, WT明細.品番, WT明細.サイズ, M商品.品名, WT明細.数量, WT明細.合計, WT明細.備考, T単位.単位 FROM (M商品 RIGHT JOIN WT明細 ON (M商品.サイズ = WT明細.サイズ) AND (M商品.品番 = WT明細.品番) AND (M商品.グループコード = WT明細.グループコード)) LEFT JOIN T単位 ON M商品.単位コード = T単位.コード;

  • アクセス初心者です。クエリについて教えて下さい!!

    アクセス初心者です。クエリについて教えて下さい!! 注文書を作成できるものを作りたいのですが、 テーブルで M商品 ・グループコード(テキスト型) 主キー ・品番(数値型) 主キー ・サイズ(テキスト型) 主キー ・品名(テキスト型) ・単位コード(数値型) ・現在庫数(テキスト型) ・下限在庫数(テキスト型) T注文 ・伝票No.(テキスト型) 主キー ・日付(日付/時刻型) ・注文状況(数値型) ・希望納期(日付/時刻型) ・仕入先コード(テキスト型) ・納入場所コード(数値型) ・担当者コード(テキスト型) ・備考(メモ型) WT明細 ・伝票No.(テキスト型) 主キー ・行番号(数値型) 主キー ・グループコード(テキスト型) ・品番(数値型) ・サイズ(テキスト型) ・数量(テキスト型) ・単位(テキスト型) ・備考(テキスト型) T単位 ・単位コード(数値型) 主キー ・単位(テキスト型) があって クエリで WT明細とM商品とT単位を結合して ・伝票No. ・行番号 ・グループコード ・品番 ・サイズ ・品名 ・数量 ・単位コード ・単位 ・備考 としているのですが、フォームで入力する時に グループ、品番、サイズに値を入力したときはちゃんと品名がでるのですが、サイズに何も記入しないときは空白になるんです。 説明すると M商品 グループコード 品番 サイズ 品名 15 、3、 25.5bl、 靴黒25.5 の時は「靴黒25.5」が品名にでてくるのですが グループコード 品番 サイズ 品名 99、 999、(サイズ空白)、 その他 の時に「その他」が品名にでてきません。 どうしたらいいですか? ちなみに「その他」と出てきても名前を変更する場合がありますが そのときにその場では「その他」を「靴エナメル」も変更しても M商品の「その他」は「その他」のままにしておきたいです。 分かりづらい説明ですが、どなたかご教授下さい。 SQL?を載せます。宜しくお願いします。 SELECT WT明細.伝票No., WT明細.行番号, WT明細.グループコード, WT明細.品番, WT明細.サイズ, M商品.品名, WT明細.数量, WT明細.合計, WT明細.備考, T単位.単位 FROM (M商品 RIGHT JOIN WT明細 ON (M商品.サイズ = WT明細.サイズ) AND (M商品.品番 = WT明細.品番) AND (M商品.グループコード = WT明細.グループコード)) LEFT JOIN T単位 ON M商品.単位コード = T単位.コード; 宜しくお願いします。

専門家に質問してみよう