Microsoft Access 掲示板

このようなクエリを作成したいがわからない

6 コメント
views
4 フォロー

T_会社マスターというテーブルの

社名1社名2
株式会社A株式会社A 東京営業所

このようなレコードを

社名1社名2
株式会社A東京営業所

このように置換する更新クエリを作りたいのですが、抽出条件・更新式が思い浮かびません
。。。

どのように構成すればよいでしょうか。

驚天動地!前任者失踪丸
作成: 2024/03/01 (金) 15:54:57
通報 ...
1

デザインビューで更新クエリにして、下記のように設定してください。

フィールド社名2
テーブルT_会社マスター
レコードの更新Replace([社名2],[社名1] & " ","")
抽出条件Like [社名1] & " *"

SQLでは

UPDATE T_会社マスター
SET T_会社マスター.社名2 = Replace([社名2],[社名1] & " ","")
WHERE T_会社マスター.社名2 Like [社名1] & " *";
2
驚天動地!前任者失踪丸 2024/03/01 (金) 16:48:53 23e8e@44ebd >> 1

回答ありがとうございます。
最初の質問で例示したパターンについては上手く置換できました!

社名1社名2
株式会社A株式会社A東京営業所

社名1社名2
株式会社A株式会社A

等もまとめて抽出・置換することはできますでしょうか?

3
驚天動地!前任者失踪丸 2024/03/05 (火) 08:37:25 23e8e@44ebd >> 2

Hatenaさん、こちらわかりますでしょうか?

4

デザインビューで下記でどうでしょう。

フィールド社名2
テーブルT_会社マスター
レコードの更新Replace([社名2],[社名1],"")
抽出条件Like [社名1] & "*"
5
驚天動地!前任者失踪丸 2024/03/05 (火) 10:42:57 23e8e@44ebd >> 4

素晴らしいです、上手く抽出することが出来ました。
ありがとうございます。

疑問なのですが、何故

Like "[社名1]*"

ではなく

Like [社名1] & "*"

なのでしょうか??

6
すずやん 2024/03/06 (水) 14:04:34 >> 4

仮に[社名1]に「みかん」が設定されているとします。
その場合、「T_会社マスター.社名2」の内容を「みかん」の前方一致で検索したいわけです。

Like "[社名1]*"
↑これの場合、全てをそのまま文字列として扱ってしまいますので、「[社名1]」の前方一致で検索してしまいます。

Like [社名1] & ""
↑これの場合、[社名1]に設定されている文字列、つまり「みかん」と「
」をくっつけた文字列「みかん*」で検索を行います。