• ベストアンサー

access高速化処理 初心者です。

当方初心者です。 vb2005で、アクセスとtxtを使って次のようなプログラムを作りたいです。 access T_TABLE1(カラム4つ) データ3000件程 都道府県 市区町村 町名 丁目 沖縄県 ○○市 ○町 n丁目 ~~~ 沖縄県 ◎◎市 ○町 n丁目 txt このテキストは、カンマ区切りの文字の羅列です。200文字程 △字,○字 ■字,□字 vb2005で、txtに含まれる文字(○字)が、T_TABLE1の中の何れかのカラムに 含まれていた場合、その文字をtxtから消すというプログラムを作りたいです。 できるだけ高速に処理するにはどのような手法が考えられるか、 アドバイスいただけましたら幸いです。(accessをoracleに置き換えることも やろうと思えば可能です) よろしくお願い致します。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

Excelに展開したらどうですか? シート1にはテーブル内容(4列×3000行)を展開し、シート2には テキストファイルをCSVファイルとして読み込んでおきます。 シート2の各セルを1個ずつ取り出してはシート1内を検索し、 存在すればシート2の該当セルを削除します。 残ったシート2をCSVファイルとして再度保存すれば、目的は達成 できるのではないでしょうか。 これが最速かどうかは分かりませんが、200個のLike条件式をOR結合 するのはスペック上、難しいのではないでしょうか。 仮に、出来たとして、テキストファイルの1部を消すような更新は 難しいですよ。

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

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

直感で考えると、 DBは使わずに、テキストファイルとしてVBで処理するほうが早いんじゃないかな? 何の根拠もないけど。(というか、根拠を出すためには双方やってみないといけない。)

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

関連するQ&A

  • Accessで住所ごとに集計したい。

    Access超初心者です。 アンケートの集計を取りたいのですが、住所ごとに細かく数えたいです。 例えば、○○市●●区△△町▲▲の場合、▲▲で何件かを知りたいのですが、今集計されているのは●●区で何件という形になってしまっています。 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振ってあります。 ▲▲のところは3桁で001は一丁目002は二丁目みたいになっているのですが、単純に▲▲でカウントしてしまうと、○○市●●区△△町までが違っていても一丁目が何件という数になってしまいますよね? そうではなくて、○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という数を知りたいのですがどうやって条件をつけたらいいのかわからないので教えて頂きたいです。 質問の内容もわかり難いかと思いますがどうぞよろしくお願いいたします。 Access始めたばかりなので難しいことがわかりません。 どうかお力を貸して頂きたいです。

  • Accessで住所ごとに集計したい(2)

    Access超初心者です。 アンケートの集計を取りたいのですが、住所ごとに集計をしたいです。 住所にはコードがつけてあり○○●●△△▲▲という感じで数字が振ってあります。 ▲▲のところは3桁で001は一丁目002は二丁目みたいになっています。 ○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形になっているのですが、もっとおおざっぱに△△町で何件かという形に集約したいです。 今は○○市●●区△△町一丁目で何件、○○市●●区△△町二丁目で何件という形なのですべてに数字が入っているわけではありません。 そして0が入っているわけでもなく空白のままになっているデータもあります。空白のままでも集計結果は正しく出るのでしょうか? どのようにしたらいいのかわからないので教えて頂きたいです。 質問の内容もわかり難いかと思いますがどうぞよろしくお願いいたします。 Access始めたばかりで難しいことがわかりませんので、なるべく簡単な方法で教えて頂けると助かります。 どうかお力を貸して頂きたいです。よろしくお願いします。

  • ACCESSで住所を簡略化する方法。

    ACCESSで住所を簡略化する方法。 下記のような規則性のない住所録があります。これから県単位以下で市、町、郡などまでの主要住所だけを抜き出して細かい所番地を省く方法を考えております。市があればそこでストップ、市が無く町まであればそこでストップと言った感じです。規則性が無いため私の知識では対応できません。 空欄や”不明”という文字も入っています。この場合は何もしないということにしたいです(空欄、不明を残す) 元:福島県郡山市喜久田町字松ヶ作 抜き出し後:福島県郡山市 住所の例 福井県福井市西開発 千葉県市原市 石川県金沢市問屋町 福島県郡山郡喜久田町字松ヶ作 愛知県川西町 新潟県 -空欄- 京都府山科区音羽前田町 不明 よろしくお願いします。

  • 【Access2003】のクエリにて、半角数字のみを取得したいのですが

    【Access2003】のクエリにて、半角数字のみを取得したいのですが。 とあるカラムに字名が入っています。 "1丁目" "5丁目" "8丁目" "八事" …… このような感じで全角及び半角数字と漢字及びかなが混在しています。 その中から、数字だけを半角にして取り出したいのです、 どんな関数をどのように駆使すればよろしいでしょうか? 上記の場合ですと、 "1" "5" "8" "" …… としたいのですが。 よろしくお願いします。

  • Access2003 文字数の合計について

    複数のフィールドに入力されている文字列(数値や文字)の文字数をカウントし, そのレコードごとの文字数合計を出したいのですが、「エラー」になってしまい うまくできないので、アドバイスを頂きたいと存じます。 ========================================================================= ☆1つのレコードA~Eのフィールドがあり、全角・半角の文字および英数字のデータが混在しています。  なお、データの入っていない空欄がところどころにあります。 [手順1] まず、フィールド内にある空白を除くためReplace関数を使って置換するため フィールドへ以下の式を入力します。 B1: Replace([B]," ", "") D1: Replace([D]," ", "") (例) [ID]  [A]         [B]       [C]       [D]            [E]     1  東京都   港区 ○○1丁目  1-2-3   ●×マンション 101  ○○様方 2  神奈川県  横浜市○○○町   10-10    NULL           NULL 3  千葉県   千葉市 ○○○町  NULL    NULL            ○○様方 ========================================================================= [手順2] 空白を取り除いたフィールドの文字数をカウントするためLen関数を使ってカウントするため フィールドへ以下の式を入力します。 文字数: Len('' & [A] & [B] & [C] & [D] & [E]) (例) [ID]  [A]         [B1]       [C]       [D1]           [E]     [文字数]   1  東京都   港区○○1丁目   1-2-3   ●×マンション101   ○○様方     29 2  神奈川県  横浜市○○○町   10-10    NULL           NULL      16 3  千葉県   千葉市○○○町   NULL    NULL           ○○様方     14 ========================================================================= [手順1]~[手順2]を行い、文字数フィールドに合計値が表示されるようにしたいのですが、 [手順1]のクエリ実行でフィールド[D]の空欄に「#エラー」が表示されてしまい、 以下のとおり、[手順2]で文字数を出すことができませんでした。 (例) [ID]  [A]         [B1]       [C]       [D1]           [E]     [文字数]   1  東京都   港区○○1丁目   1-2-3   ●×マンション101  ○○様方     29 2  神奈川県  横浜市○○○町   10-10    #エラー        #エラー     #エラー 3  千葉県   千葉市○○○町   NULL    #エラー        ○○様方     #エラー ========================================================================= 上記のようなエラーを出さずに、文字数合計をしたいので、アドバイスをいただきたいと存知ます。 よろしくお願いいたします。

  • 正規化表現を使って「東京都○○市××町1丁目23」のようなデータがあっ

    正規化表現を使って「東京都○○市××町1丁目23」のようなデータがあったとき全角数字(この場合は1丁目の「1」)以降右側を切り取るにはどうすればいいでしょう?つまり・・ 「東京都○○市××町1丁目23」→「東京都○○市××町」 「神奈川県○○市××村456」→「神奈川県○○市××村」 のようにしたいのですが・・

  • 郵便物に(差出人)と記載を要求される(1)

    小さな駅前にあるようなとある局で、の話です。 郵便物を差し出す際、あて先などをパソコンを使って 紙にプリントアウトし切り取りのりで、くっつけて 封筒に貼って出したりします。なぜかというと、 あまり字が上手ではないので あて先の記載などで読みにくいとかでちゃんと届かない というようなことがないようにという、配慮のためです。 いちおう、「送付先」のほうは大きなフォントで 「差出人」のほうは小さめのフォントでやっています。 そうして、横書きにしたりするとき、↓のように 〒000-0000 ○○県○市○町○丁目○番○号  ○○ ○○さま      〒111-0000      △△県△市△町△丁目△番△号        △△ △△より のように、書いてあるのですが、      その場合、差出人と書け、と言われるのです。つまり   (差出人)△△ △△より と記載せよというのです。しかも、なるべくきれいな 封筒でフォントも変えたりしてちょっと大切な手紙でも、 勝手にボールペンで書き込んだりされます。 折角、細かいところまで神経を使っても いかにも、「人の書いた文字」が全体の雰囲気を壊すようで がっかりしてしまいます。 (文字数が超えますのでつづきがあります)

  • perlプログラム 外部複数ファイルの読み込み処理について

    perlプログラム 外部複数ファイルの読み込み処理について あるフォルダに T0001_05_01,T0001_05_02,T0001_05_03,…,T0001_05_31 という31個のファイルがあります。 それぞれのファイルは 下記のような 形式で記述されております。 (例 T0001_05_01のファイルの中身) 2010-05-01 00:00:00.000 N00001 AAAAAA 2010-05-01 00:00:00.108 N00018 BBBBBB 2010-05-01 00:00:10.305 N00002 AAAAAA 2010-05-01 01:00:10.966 N00008 CCCCCC … また、別のlist.txtに 下記のようなユニークなリストが入っております。 AAAAAA CCCCCC WWWWWW … このとき、list.txtの値が それぞれT0001_05_XXファイルの何行目に出力されているか 出力するperlプログラムを作成したい。 (出力結果イメージ:1ファイル化) T0001_05_01 1行目 2010-05-01 00:00:00.000 N00001 AAAAAA T0001_05_01 3行目 2010-05-01 00:00:10.305 N00002 AAAAAA … T0001_05_31 10行目 2010-05-31 03:00:00.999 N00400 AAAAAA T0001_05_01 4行目 2010-05-01 00:00:00.000 N00008 CCCCCC … perlプログラム知識がないものなので、このようなファイルの出力の仕方がわかりません。 教えていただけると助かります。

    • ベストアンサー
    • Perl
  • CUI環境でのCプログラム ランダムアクセスが分からない

    CUI環境でのCプログラムを作っています。 data.txtファイルの末尾に文字を追加させるプログラムを作っています。 ---data.txtの中身------- あああ いいいいい うううううううう ええ ------------------------ このdataファイルの末尾にコマンドプロンプトから文字を追加させるには、ランダムアクセスを使えばいいと思うんですが、どのようなプログラムにすれば良いのか分かりません。ランダムアクセスはバイナリファイルでしか使えないのでしょうか?

  • ○丁目の○は算数字でも可?

    「×△町○丁目**-*」の○の箇所は、一般的に漢数字、 (たとえば二丁目など)であるものと思っていたのですが 市によっては2丁目など算数字で定められているところもあるようなのです。 この○の部分は自治体ごとに算数字でも漢数字でも 自由に定められるものなのでしょうか? ×△町二丁目15番1号 などと表記するものと思っていました よろしくお願いします。