• 締切済み

アクセスの関数のご教授を

いつも、ご指導有難うございます。 アクセス2007で更新クエリを使用しています。 データは主に顧客データですが、顧客名のフィールド(データは外部からCSVでインポートしたものです)会社名の前と後ろに余分なスペースが入っています。 Trim関数、Ltrim関数、RTrim関数を使用して後ろにあったスペースは消すことが出来たのですが、どうしても文字列の前にあるスペースが消去できません。(Ltrim関数を使用しました) データをみると「" "ABC商事」のように" "が消えません。 何か使用方法に違いがあるのでしょうか。 ご指導をお願い致します。

みんなの回答

回答No.9

>どうしても文字列の前にあるスペースが消去できません。 これは、全角文字を取り除けていないのだと思われます。 文字列の置き換え Replace(※社名の文字列を指定する※, " ", "") ← 全角スペースをなき物にする。 Replace(※社名の文字列を指定する※, " ", "") ← 半角スペースをなき物にする。 のそれぞれで全角も半角もスペースを取り除くことができます。 Replace 関数は調べていただければ解りますが文字列の置き換えの関数です。 置き返される文字列を""にすれば事実上取り除きになります。 あと Replace は、どこにあっても対象になります。 『 ○○株式会社  △△支店 』の様な文字列の場合、中間の文字列も一気に処理できます。 Cindy.

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.8

「" "」が文字列の一部ですよね 例えば「除去」を文字列とするには「"除去"」としますね 「"」を文字列にするには「"""」ではなく「"""""」とします これに従いますと「" "」は 「""" """」となります。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.7

No6は別の質問に回答するつもりで 間違って貼り付けてしまいました。 No6はなかったことにしてください。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.6

訂正です。 (1)のところで、 Dim lastRow As Long は使用していないので削除してください。 いらないものが入っていました。 分からないところがあれば補足してください。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

スペースを削除しようとしているのに残る、は普通に考えてありえないし、残ったそれはスペースでないです。スペースとして認識されてない、というべきか。 半角スペース、全角スペースを確認する。 顧客データのそこに改行コードが入るとも思えない。Tabくらいだろう。 (株)や(有)の語でそれも外字、括弧つきで1字としたものがFTP伝送でうまく変換できてない、表示できてないと考えられます。 フリーソフトで良いのでバイナリエディタでみるとこの変わらない部分の漢字コードがわかります。見方もわからない、スペースがどんな表記かもわからないなら検証も難しい。 データ作成元の時点でホントにスペースなのか確認する。文字がないからスペース、でもない。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

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

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

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

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

普通は、以下のようにすれば、更新されますが。 UPDATE テーブル1 SET テーブル1.会社 = LTrim([会社名]); テーブルの会社名のフィールドの先頭に何か余計な ものがくっついている、というのではないでしょうね? まさか、" " のように記号も含めてですか?

haru_usagi
質問者

お礼

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

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

LTrim関数、RTrim関数、Trim関数の解説 http://www.accessclub.jp/samplefile/samplefile_175.htm LTrim 関数、RTrim 関数、および Trim 関数 http://office.microsoft.com/ja-jp/access-help/HA001228878.aspx LTrim(" 文字列") ですがいかがでしょう。

haru_usagi
質問者

お礼

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