Maison >base de données >tutoriel mysql >Comment mettre à jour un champ de table dans Access à l'aide des résultats agrégés d'une requête SELECT ?

Comment mettre à jour un champ de table dans Access à l'aide des résultats agrégés d'une requête SELECT ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-18 11:23:10931parcourir

How to Update a Table Field in Access Using a SELECT Query's Aggregate Results?

Mise à jour des valeurs de champ avec les résultats de requête SELECT dans Access

Contrairement à certains systèmes de bases de données, Microsoft Access ne prend pas en charge l'utilisation de fonctions d'agrégation (par ex. , MIN, MAX) directement dans les requêtes UPDATE. Pour surmonter cette limitation, on peut utiliser une requête SELECT pour obtenir la valeur souhaitée, puis l'appliquer dans l'instruction UPDATE.

Le défi :

Étant donné une requête SELECT qui récupère le code de taxe minimum (MinOfTax_Code) pour chaque fonction en fonction de critères spécifiques, la tâche consiste à mettre à jour le champ Func_TaxRef dans la table FUNCTIONS avec le résultat de cette requête SELECT.

Aperçu de la solution :

  1. Créer une requête pour calculer le code de taxe minimum :

    Exécutez la requête SELECT suivante pour calculer le code d'impôt minimum pour chaque fonction en fonction de la valeur donnée critères :

    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;

    Enregistrez la requête sous « Votre requête ».

  2. Créez une table pour stocker les résultats de la requête :

    Comme Access ne peut pas mettre à jour les requêtes avec plusieurs tables, créez une requête Créer une table pour transformer les résultats de la requête SELECT en un table.

    SELECT YourQuery.* 
    INTO MinOfTax_Code
    FROM YourQuery

    Cela créera une table nommée MinOfTax_Code contenant les valeurs FUNC_ID et MinOfTax_Code.

  3. Effectuez la requête UPDATE :

    Enfin, exécutez la requête UPDATE suivante pour mettre à jour le Champ Func_TaxRef dans la table FUNCTIONS en fonction des valeurs de la table MinOfTax_Code :

    UPDATE MinOfTax_Code 
    INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID 
    SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]

    Cette requête mettra à jour le champ Func_TaxRef pour chaque fonction avec le code de taxe minimum correspondant calculé dans le SELECT requête.

Remarque :

L'utilisation de SQL dans Access peut être difficile en raison de ses limitations. Envisagez d'utiliser une plate-forme de base de données plus robuste, telle que SQL Server Express Edition, pour les opérations SQL complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn