Microsoft Access 掲示板

曖昧検索後の置き換え

4 コメント
views
4 フォロー

更新クエリで”Aテーブル””1フィールド”に曖昧な名称が入力されており、これを”Bテーブル”に保存された”2フィールド”の正規の名称に置き換えたい。なお”Bテーブル”の”3フィールド”には”1フィールド”に必ず含まれる曖昧な値を保存しています。
考えたのはLike()ですがうまくいきません。
ご存じの方、なにとぞご教示をお願いいたします。

作成: 2023/08/21 (月) 22:08:17
通報 ...
1
hiroton 2023/08/22 (火) 18:13:57 f4884@f966d

あいまいな値で結合はできないので、交差結合から、フィールドをLike比較して更新するレコードのキーと変更後の値のデータを生成し、その後、レコードの更新の値としてDlookup関数で変換語句を拾い出す更新クエリを作成するとかすれば行けると思います

2
りんご 2023/08/23 (水) 00:41:02 935bc@0e907

書き換えるルールを説明して下さい。3フィールドが複数該当したらどうなるの?

3

りんごさんの指摘のうえに、さらに、
Aテーブル、Bテーブルのサンプルデータを提示してもらえると、助かります。

4
UPDATE Aテーブル, Bテーブル
SET Aテーブル.[1フィールド] = [2フィールド]
WHERE Aテーブル.[1フィールド] Like "*" & [3フィールド] & "*";

でどうだろう。

下記の簡単なサンプルで確認した限りではうまく変換されました。

Aテーブル

1フィールド
aあいうb
cかきくd
eさしすf

Bテーブル

2フィールド3フィールド
あいうえおあいう
かきくけこかきく
さしすせそさしす

 
3フィールドが複数該当したら、後の方で上書きされるようです。