2017-01-06 12 views
0

私は重複を見つけてそれに基づいてフィールドを更新するはずのAccessでSQLクエリを持っています。それは私に "このクエリは更新できません"というエラーを与えています。私はテーブルを作成するサブクエリを作成する必要があることをオンラインで読んでいますか?私は正直に言って、これについてどうやって行くのかは分かりません。このSQLマージステートメントから一時テーブルを作成するにはどうすればよいですか?

これが私のクエリです:クエリまたはレコードは、データが更新できない場合があり多くの理由が あり、更新できません。なぜ

UPDATE work T INNER JOIN 
     (SELECT DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, BIRTHDATE 
      FROM work      
      GROUP BY DIVISION, FIPS_COUNTY_CODE, LAST, SUFFIX, FIRST, TITLE, BIRTHDATE 
      HAVING COUNT(*) > 1 
     ) AS S 
     ON T.DIVISION = S.DIVISION 
     AND T.FIPS_COUNTY_CODE = S.FIPS_COUNTY_CODE 
     AND T.LAST = S.LAST 
     AND T.SUFFIX = S.SUFFIX 
     AND T.FIRST = S.FIRST 
     AND T.TITLE = S.TITLE 
     AND T.BIRTHDATE = S.BIRTHDATE 
SET T.BAD_CODES = T.BAD_CODES & 'D' 

答えて

1

理由。いくつかはかなり明白です:クエリ•

は(用途はTRANSFORM)集計クエリ(GROUP BYを使用しています)、またはクロス集計クエリで、そのレコードは個々のレコードでないフィールド•

は計算フィールドなので、それは、あなたは、クエリ•テーブルまたはデータベース

を編集する権限/権限を持っていない•

を編集したVBA関数またはユーザー定義関数を使用して、データベースがに(信頼できる)有効になっていないことはできませんコードを実行できるようにする

いくつかの理由は明白ではありませんが、避けることはできません。

•変更されるテーブルは、主キーのないリンクテーブルです。

o特定のバックエンドデータベース(Microsoft SQL Serverなど)では、Access/Jetは変更を加えるためにテーブルをキー入力する必要があります。これは、Accessが変更のためにSQLクエリを発行したいが、レコードを一意に識別できないため意味をなさない。キー上にないこと、マルチテーブルのジョインとクエリ•

を編集することはできません、まだ個々のレコードや個々のレコードにリンクされているいくつかの集計フィールドを持つクエリ•

あまり目立たないが、これらの状況ですフィールド

•連合は

http://www.fmsinc.com/Microsoftaccess/query/non-updateable/index.html

からコピー問い合わせます
関連する問題