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 :
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 ».
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.
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!