Microsoft Access 掲示板

クエリの数を圧縮したい / 19

24 コメント
views
4 フォロー
19

SQLビューを開こうとしましたが、'InStr(1,[T_出力].[住所1],[T_置換用テーブル].[置換前],0)'が見つかりません、パラメータや別名が正しいこと、、、を確認してくださいというエラーが出ます。

通報 ...
  • 20

    見にくいかもしれませんが、スクショでのデザインビューです。画像1

  • 21

    クエリを新規作成して、SQLビューにして、下記のSQLを貼り付けて実行するとどうなりますか。

    UPDATE T_出力, T_置換用テーブル
    SET T_出力.住所1 = Replace(Nz([T_出力].[住所1],""),[T_置換用テーブル].[置換前],[T_置換用テーブル].[置換後])
    WHERE InStr(1,Nz([T_出力].[住所1],""),[T_置換用テーブル].[置換前],0)>0;
    
  • 22

    デザインビュー見ました。
    更新するフィールドと抽出条件を設定するフィールドは別にしないと。

    上記の回答で新規作成したクエリをデザインビューにして違いを確認してください。

  • 23
    Anko 2023/11/21 (火) 13:25:03 修正 7fdfc@46fae >> 19

    HatenaさんのSQLビューをコピーしてデザインビューを確認したところ、住所1とInstrの2つに分かれました。1つのフィールドに書こうとしていたから上手くいかなかったのですね。

  • 24

    式1: InStr(1,Nz([T_出力].[住所1],""),[T_置換用テーブル].[置換前],0)
    というような演算フィールドは更新できませんからね。