アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2003で、各データの数値の前後に存在する空白を全て削除したいと考えています(データ型はテキスト型)。

空白は半角スペースですが、1個~6個の幅があります。

例:" 111"、" 11 "、" 1111 "など

間に空白は入っていません。

シンプルに置換機能で検索できれば手っ取り早いのですが、データ件数が多いからか(40万件、60万件、80万件)、挙動が安定しません。

エラーが出て削除できなかったり、出来ているように見えてあるところから全く削除出来ていなかったりという状態です。

Trim関数あたりを使ってマクロでなんとかできるのかな、という想像はつくのですが、Howが全く分かりません。マクロ素人です。

よろしくお願いします。

A 回答 (3件)

#1です


規則性がないと完全な自動化は難しいかなと思います。

半自動化としてモジュールで作成すれば幾分楽にはなるでしょうか。

列名はモジュール内に直接羅列するか、テーブルに入れてモジュール内で取得
で、以下を取得した列名で繰り返せばOK
 sql = "UPDATE テーブル1 SET 列名 = TRIM(列名)"
 currentdb.Execute( sql )


あるいは
UPDATE テーブル1 SET 列名1=TRIM(列名1), 列名2=TRIM(列名2), ・・・
というクエリで一括更新
    • good
    • 1
この回答へのお礼

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

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

お礼日時:2006/04/14 20:04

クエリで一括更新ではいかがでしょうか?



UPDATE テーブル1 SET 列名 = TRIM(列名);

ちょっとデータ数が多いとのことで動作に不安はありますが

この回答への補足

早速のコメントありがとうございます。
一列試してみましたが、うまく削除されているようです。

追加の質問で申し訳ないのですが、列数が50程あり、それら全て一括で更新したいと考えています。ただ、それぞれの列名が連番では無いのですが、手動で列名を入力していくしかなく、自動化は難しいのでしょうか。

列数名:
1, 1-1, 1-2, 2-1, 2-1-a, 2-1-b …

補足日時:2006/04/14 16:50
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/14 20:05

こんにちは。



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

では。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/14 20:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A