SELECT サブクエリを使用したクエリの更新
Microsoft Access 2007 を使用する場合、SELECT クエリの結果でフィールドを更新する際に課題が生じます。 Access は UPDATE クエリ内の SELECT クエリをサポートしていますが、UPDATE 部分内の集計は禁止しています。
次の例を考えてみましょう:
SELECT クエリ:
SELECT Min(TAX.Tax_Code) AS MinOfTax_Code FROM TAX, FUNCTIONS WHERE (((FUNCTIONS.Func_Pure)<=[Tax_ToPrice]) AND ((FUNCTIONS.Func_Year)=[Tax_Year])) GROUP BY FUNCTIONS.Func_ID;
更新クエリ:
UPDATE FUNCTIONS SET FUNCTIONS.Func_TaxRef = [Result of Select query]
この問題を解決するには、回避策が必要です。
1. SELECT クエリをテーブルに変換します:
次の定義を使用して 'YourQuery' という名前のクエリを作成します:
SELECT func_id, min(tax_code) as MinOfTax_Code FROM Functions INNER JOIN Tax ON (Functions.Func_Year = Tax.Tax_Year) AND (Functions.Func_Pure <= Tax.Tax_ToPrice) GROUP BY Func_Id
次に、テーブル作成クエリを実行します:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
これにより、SELECT の結果を含む MinOfTax_Code という名前のテーブルが作成されます。クエリ。
2. UPDATE クエリを実行します:
次に、UPDATE クエリを実行します:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
集計を別のテーブルに分割することで、Access は次の関数テーブルを正常に更新できます。 SELECT クエリの結果。
以上が集計を使用した SELECT クエリの結果を使用して Microsoft Access のフィールドを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。