Access の UPDATE クエリ内での SELECT の使用
Microsoft Access では、データベース内の更新を実行するときに UPDATE クエリが使用されることがよくあります。ただし、更新に別の SELECT クエリから計算された結果が必要な場合は、単純なアプローチでは十分ではない可能性があります。
次の 2 つのシナリオを考えてみましょう:
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]
Microsoft Access 2007 では、UPDATE クエリ内に集計 (min、max など) を直接含めることはできません。ただし、回避策には、SELECT クエリと Make Table クエリの機能を利用する必要があります。
ステップ 1: 集計を計算するクエリを作成する
最低税を計算するクエリを構築する特定の基準に基づいて TAX テーブルと FUNCTIONS テーブルからコードを取得し、結果を Func_ID でグループ化します。フィールド:
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
このクエリを YourQuery として保存します。
ステップ 2: クエリをテーブルに変換する
UPDATE クエリはテーブルでのみ操作できるため、 、テーブル作成クエリを使用して、計算結果を新しいテーブルに保存します。 MinOfTax_Code:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
ステップ 3: UPDATE クエリを実行します
最後に、Functions テーブルと MinOfTax_Code テーブルを結合する UPDATE クエリを実行し、Func_TaxRef フィールドを更新します。
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
この回避策により、次のことが可能になります。 SELECT クエリの結果を使用して、Microsoft Access 2007 の別のテーブルのフィールドを更新します。
以上がMicrosoft Access で SELECT クエリの結果を使用してテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。