Microsoft Access 掲示板

TRIM関数が反映されない

7 コメント
views
4 フォロー

先頭にスペースが入っている文字列に対し、
クエリデザイン 式ビルダーで対象テーブル、対象フィールドを
選択したうえでTRIM関数を入れていますが、実行後のデータでTRIMされていません。
何か入れ方が間違っているでしょうか。

担当者ID: Trim([担当者]![担当者ID])

と入れています。
データ元はリンクにしておりますが、データコピーしてテーブルにしデータ型を確認したら、
「短いテキスト」になっているため、文字列でリンクされていると考えています。
TRIMが働かない条件等あれば知りたいです。

さこ
作成: 2022/12/23 (金) 14:28:56
通報 ...
1

Trimを入れずに、
担当者ID: [担当者]![担当者ID]
としたときはフィールド値がそのまま表示されますか。

あと、そのクエリのSQL文を提示してもらえますか。

2
さこ 2022/12/23 (金) 16:07:20 44a30@d1b14

ご提示いただいた方法で試しましたが、フィールド値がそのまま表示されました。

SQL文は以下の通りです。
外部エクセルデータリンク71Y、72Yのデータをユニオンクエリで結合し、
結合したQ21のクエリデータから担当者IDをTRIMしたい、という意図で組んだものです。

SELECT LTrim([Q21_71Y72Y結合]![担当者ID]) AS 担当者ID, Q21_71Y72Y結合.出向先CD, Count(Q21_71Y72Y結合.契約NO) AS 件数
FROM Q21_71Y72Y結合
GROUP BY LTrim([Q21_71Y72Y結合]![担当者ID]), Q21_71Y72Y結合.出向先CD
ORDER BY Q21_71Y72Y結合.出向先CD;

3
さこ 2022/12/23 (金) 16:10:28 44a30@d1b14

http://yamav102.cocolog-nifty.com/blog/2016/11/trim-735b.html

この記事に書かれているWEB上のデータ、というのが悪さをしている可能性もあるかもしれません。
その場合、記事内ではエクセルでの関数紹介でしたが、アクセスに転用する方法があればご教示いただきたいです。

4

リンク先は下記のスペースのことですね。
ノーブレークスペース - Wikipedia

だとしたら、下記でどうでしょう。

担当者ID: Trim(Replace(Nz([担当者]![担当者ID]),ChrW(160)," "))
5
さこ 2022/12/27 (火) 10:04:19 44a30@d1b14

ノーブレークスペースという単語を始めて聞きました。
ご提示いただいた関数で試してみましたが、うまくいきませんでした。
別の方法を考えてみます。
ご教示ありがとうございました。

6
hatena 2022/12/27 (火) 14:04:21 修正

実際に記述したSQL文を提示してもらえますか。

あと、下記のクエリを開いて、削除されない空白の先頭文字コードが何になっているか教えてください。

SELECT [Q21_71Y72Y結合]![担当者ID] AS 担当者ID, AscW(Left([Q21_71Y72Y結合]![担当者ID],1)) As 先頭文字コード
FROM Q21_71Y72Y結合
7
さこ 2022/12/28 (水) 11:52:53 44a30@d1b14

先ほどもう一度入力し直してみたらできました!
入力間違えないようにしたつもりだったのですが、間違えていたようです。
ご教示いただきありがとうございました。