• ベストアンサー

Accessでの全データから空白削除

Access2003で、各データの数値の前後に存在する空白を全て削除したいと考えています(データ型はテキスト型)。 空白は半角スペースですが、1個~6個の幅があります。 例:" 111"、" 11 "、" 1111 "など 間に空白は入っていません。 シンプルに置換機能で検索できれば手っ取り早いのですが、データ件数が多いからか(40万件、60万件、80万件)、挙動が安定しません。 エラーが出て削除できなかったり、出来ているように見えてあるところから全く削除出来ていなかったりという状態です。 Trim関数あたりを使ってマクロでなんとかできるのかな、という想像はつくのですが、Howが全く分かりません。マクロ素人です。 よろしくお願いします。

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

  • ベストアンサー
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.3

#1です 規則性がないと完全な自動化は難しいかなと思います。 半自動化としてモジュールで作成すれば幾分楽にはなるでしょうか。 列名はモジュール内に直接羅列するか、テーブルに入れてモジュール内で取得 で、以下を取得した列名で繰り返せばOK  sql = "UPDATE テーブル1 SET 列名 = TRIM(列名)"  currentdb.Execute( sql ) あるいは UPDATE テーブル1 SET 列名1=TRIM(列名1), 列名2=TRIM(列名2), ・・・ というクエリで一括更新

noritaro
質問者

お礼

回答ありがとうございます。 全自動は諦め、後者の方法でやることにしました。 ありがとうございました。

その他の回答 (2)

  • asahina02
  • ベストアンサー率47% (95/202)
回答No.2

クエリで一括更新ではいかがでしょうか? UPDATE テーブル1 SET 列名 = TRIM(列名); ちょっとデータ数が多いとのことで動作に不安はありますが

noritaro
質問者

お礼

回答ありがとうございました。

noritaro
質問者

補足

早速のコメントありがとうございます。 一列試してみましたが、うまく削除されているようです。 追加の質問で申し訳ないのですが、列数が50程あり、それら全て一括で更新したいと考えています。ただ、それぞれの列名が連番では無いのですが、手動で列名を入力していくしかなく、自動化は難しいのでしょうか。 列数名: 1, 1-1, 1-2, 2-1, 2-1-a, 2-1-b …

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  「追加クエリー」はご存知ですか?Aのテーブルを検索してその結果をBのテーブルに追加していくことが出来ます。  検索する際、Trim関数で空白を削ればよいと思います。 では。

noritaro
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • エクセル2003のマクロでテキストファイルのデータを置換しようとしてい

    エクセル2003のマクロでテキストファイルのデータを置換しようとしています。 下記のようなデータが***.txtファイルに入っています。 a)を半角スペース2つに置換したいのですがどうしたらできるのか、 2文字の置換方法をご存知の方教えていただけないでしょうか? LinInputでデータを1行ずつ読み込み、 左の数値データも半角スペースに置換し、 Trimでスペースを削除しようと思います。 【入力データ】 10  55567 444  987   11  456b) 2345 789  a12 12 123a) 456 888 b17 ・ ・ ・ 【出力データ】 55567 444  987   456b) 2345 789 123 456 888 ・ ・ ・

  • PHPの空白除去

    PHP5において 半角の前後空白を削除する関数trimは理解してます。 文字列中にある半角及び全角の空白を除去するには 文字列置換用の関数、例えばstr_replaceを使って置換すれば 全て空白を除去出来ます。 例: ---------------------------------- $string=" あ い う え お "; $all=" ";//全角スペース $half=" ";//半角スペース $no="";//削除用変数 $string=str_replace($all,$no,$string); $string=str_replace($half,$no,$string); ---------------------------------- 最後の2行を書けば置換が出来るのですが、問題はこの二つの関数をまとめてクラス化し、再利用したいと思っています。 クラスの作成方法及び使用方法がまだまだ理解していないので、困ってます。どなたかお力になって頂ければ幸いにございます。

    • ベストアンサー
    • PHP
  • Accessのテーブルから空白を削除したい!

    Access2000(OS:windows2000)です 住所が入っている項目に、いらない空白が入っているデータがあります ○○県××市●●町123 としたいのに ○○県 ××市 ●●町 123 と余計な空白が入っているデータがあるのです この空白を全てとりたい!と思い 置換してみたのですが、検索しても空白を拾ってくれず 困っています 何か他の方法で、空白を削除する方法はありますでしょうか?

  • Wordで半角スペース8個分を削除したい

    文章のすべての行の頭に入ってしまっている 半角8個分のスペースを一括削除する方法を探しています。 wordの置換で、半角の空白を指定して置換すると、 削除したくない文章内の半角スペースも削除されてしまいます。 これらはそのままで、頭の半角スペース8個分だけをターゲットに指定して削除する 方法はありますでしょうか? ちなみに、インデントは左端ピッタリに寄っています。 よろしくお願いいたします。

  • ●VB6で左詰めと空白行削除

    ●VB6で左詰めと空白行削除 初めまして。 ご教授よろしくお願いいたします。 テキストボックスA(以下、texA)に入力された内容を テキストボックスB(以下、texB)に出力する動作を作成しているのですが texAに入力される内容が以下のように 必ず文章の左側に半角スペースが入る仕様になっています。 texA | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | I "VB" We learned    | | is very difficult!   | |__             | |↑              | |半角スペースが2つ入る    | |               |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一応、texAの内容を1行ずつ配列に入れ込んでTrimしてしまう方法と 左側に入る半角スペースが2つなのでReplaceで" "(半角スペース×2)を取り除く方法で 解決できたのですが(※ただし後者は文中に半角スペース×2がある場合を考えNGとしました) もしtexAの内容を丸ごと取得し、一括で左詰めできるならばと思い質問させていただきました。 また、一括で取得した場合、文の最初と最後に1行空白行が入るパターンがございます。 (※入らない場合もあると仮定、また文中にも改行が入ると仮定する) texA | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| |              |←空白行 | I "VB" We learned    | |              |←空白行 | is very difficult!    | |__             |←空白行 |↑              | |半角スペースが2つ入る    | |              |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ こちらの削除方法についても併せて教えていただけたらと思います。 お手数ですが、教授お願いいたします。 当方、環境はVB6、WindowsXPです。

  • Excelで数値の先頭にある空白を削除したい。

    CSVデータをExcelで展開しているのですが、金額が入力されている列について、数値の先頭に空白が5~6個程入っており、その空白を全て削除し、金額の合計を求めたいと思っています。 以下の関数を試したのですが、先頭の空白が2個削除できないままです。 (1)=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","") (2)「=TRIM(A1)」 (2)⇒(1)、(1)⇒(2)を試して見ましたが駄目でした。 全てを削除する方法についてご存知の方、ご教示の程、お願いいたします。

  • エクセルで選択範囲内の半角空白を取り除きたい。

    エクセルで選択範囲内の半角空白を取り除きたい。 エクセルの各セルに歌のタイトルが入っています。 ところがところどころに半角スペースが入ってしまっているためこれを取り除きたいのですが すべてを取り除くのであれば選択範囲内であっても「検索置換」を使えばできますが 条件として日本語に混在するスペースのみをとり除き、 英文の単語間にあるものはそのままにしたいのです。 基本的に、全角にはさまれた半角空白のみを対象として、 半角にはさまれた空白はいじらないことになります。 (いじらない場合として半角数字も該当してしまいますが、ほとんど該当がないものと考えています) 関数、マクロ等でなにかいい知恵がありましたら教えてください。

  • Excel/『15:00 』という時間/空白/削除/

    Excel/『15:00 』という時間/空白/削除/ Excelで『15:00 』と最後に空白が入っています。 Webからコピーしたもので貼り付けると空白があるため時間と認識されていません。 TRIM関数をしようしても出来ず。 置換をしようとしても検知されませんでしたとエラーが出ます。 セルの書式設定で時間の関係に設定しようとしても出来ません。 手動で削除すると、ユーザー設定のh:mmとなります。 かなりの数があるので手間なく作業したいと思っています。 ご教授お願いいたします。

  • アクセスで文字列中の空白を削除する方法

    アクセスで下記のような文字列中の空白を削除する方法を教えてください。 「東○京」、「東○○京」、「東○○○京」のように(○はスペースを表しています。)、スペースの数も様々なものを「東京」にしたいのですが・・・ なお、編集→置換ではなく、関数を使ったものでお願いします。

  • アクセスで空白がグループ化されない

    過去に質問があるか検索をしたのですが、 なかなか、合致したものが、見つからず、 すみません。 質問させていただきます。 20,000件ほどのデータで、Nullも含むデータを アクセスクエリのグループ化をしたのですが、 空白がどうしても、2つに分かれてしまいます。 見たところ、何も入力されていず、 エクセルにエクスポートして、if文で同じか確認しても 同じという結果がでます。 データ自体は、エクセルからインポートしました。 初心者の質問ですみません。 よろしくお願いします。 ちなみに、20,000件のうち、空白は2,777件で、 クエリでカウントすると、13件と2764件で分かれます。 また、エクセルのフィルターを使って、空白の件数を出すと 2,777件になります。 よろしくお願い致します。

専門家に質問してみよう