プロが教える店舗&オフィスのセキュリティ対策術

いつも、ご指導有難うございます。

アクセス2007で更新クエリを使用しています。
データは主に顧客データですが、顧客名のフィールド(データは外部からCSVでインポートしたものです)会社名の前と後ろに余分なスペースが入っています。

Trim関数、Ltrim関数、RTrim関数を使用して後ろにあったスペースは消すことが出来たのですが、どうしても文字列の前にあるスペースが消去できません。(Ltrim関数を使用しました)

データをみると「" "ABC商事」のように" "が消えません。
何か使用方法に違いがあるのでしょうか。

ご指導をお願い致します。

A 回答 (9件)

>どうしても文字列の前にあるスペースが消去できません。


これは、全角文字を取り除けていないのだと思われます。

文字列の置き換え

Replace(※社名の文字列を指定する※, " ", "") ← 全角スペースをなき物にする。
Replace(※社名の文字列を指定する※, " ", "") ← 半角スペースをなき物にする。
のそれぞれで全角も半角もスペースを取り除くことができます。

Replace 関数は調べていただければ解りますが文字列の置き換えの関数です。
置き返される文字列を""にすれば事実上取り除きになります。

あと Replace は、どこにあっても対象になります。 『 ○○株式会社  △△支店 』の様な文字列の場合、中間の文字列も一気に処理できます。

Cindy.
    • good
    • 0

「" "」が文字列の一部ですよね



例えば「除去」を文字列とするには「"除去"」としますね
「"」を文字列にするには「"""」ではなく「"""""」とします

これに従いますと「" "」は 「""" """」となります。
    • good
    • 0

No6は別の質問に回答するつもりで


間違って貼り付けてしまいました。
No6はなかったことにしてください。
    • good
    • 0

訂正です。


(1)のところで、

Dim lastRow As Long

は使用していないので削除してください。
いらないものが入っていました。

分からないところがあれば補足してください。
    • good
    • 0

スペースを削除しようとしているのに残る、は普通に考えてありえないし、残ったそれはスペースでないです。

スペースとして認識されてない、というべきか。
半角スペース、全角スペースを確認する。

顧客データのそこに改行コードが入るとも思えない。Tabくらいだろう。

(株)や(有)の語でそれも外字、括弧つきで1字としたものがFTP伝送でうまく変換できてない、表示できてないと考えられます。

フリーソフトで良いのでバイナリエディタでみるとこの変わらない部分の漢字コードがわかります。見方もわからない、スペースがどんな表記かもわからないなら検証も難しい。

データ作成元の時点でホントにスペースなのか確認する。文字がないからスペース、でもない。
    • good
    • 0

#2です。

#2の方法で余白が除去できない
場合、フィールドをメモ帳などのテキスト
に落として、↑などの改行コードが
あったりしないか確認してみてください。
    • good
    • 0

全くあてずっぽうです。


その部分を16進で表示して、スペースかどうか調べられないですか。
パソコンでは16進で内容を表示して調べると言う、ツールや習慣がないようだが、文字列の内容などを調べるのには
決定的に有効。
多分スペースではないものがスペースの前に邪魔しているのでは。
関数を探すやその働きをしらべる場合ではないとおもう。
    • good
    • 0

普通は、以下のようにすれば、更新されますが。



UPDATE テーブル1 SET テーブル1.会社 = LTrim([会社名]);

テーブルの会社名のフィールドの先頭に何か余計な
ものがくっついている、というのではないでしょうね?
まさか、" " のように記号も含めてですか?
    • good
    • 0
この回答へのお礼

理由は判らないのですが、もう一度「Trim」を実行しましたらスペースが消去されました。
今回のデータは完成しましたが、もう少し違うデータで試してみたいと思います。

どうも有難うございました。

お礼日時:2011/01/25 09:30

LTrim関数、RTrim関数、Trim関数の解説


http://www.accessclub.jp/samplefile/samplefile_1 …

LTrim 関数、RTrim 関数、および Trim 関数
http://office.microsoft.com/ja-jp/access-help/HA …


LTrim(" 文字列")

ですがいかがでしょう。
    • good
    • 0
この回答へのお礼

大変、解り易く参考にさせていただきました。
有難うございました。

お礼日時:2011/01/25 09:26

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