Maison >base de données >tutoriel mysql >Comment puis-je utiliser le résultat d'une requête SELECT pour mettre à jour une table dans Microsoft Access ?

Comment puis-je utiliser le résultat d'une requête SELECT pour mettre à jour une table dans Microsoft Access ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-19 03:15:09270parcourir

How Can I Use a SELECT Query's Result to Update a Table in Microsoft Access?

Utilisation de SELECT dans une requête UPDATE dans Access

Dans Microsoft Access, l'exécution de mises à jour dans une base de données implique souvent l'utilisation d'une requête UPDATE. Toutefois, lorsqu'une mise à jour nécessite un résultat calculé à partir d'une requête SELECT distincte, l'approche simple peut ne pas suffire.

Envisagez deux scénarios :

  • Sélectionner la requête :
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;
  • Mise à jour Requête :
UPDATE FUNCTIONS
SET FUNCTIONS.Func_TaxRef = [Result of Select query]

Dans Microsoft Access 2007, il n'est pas possible d'inclure directement des agrégats (par exemple, min, max) dans une requête UPDATE. Cependant, une solution de contournement consiste à utiliser les capacités des requêtes SELECT et Make Table.

Étape 1 : Créer une requête pour calculer l'agrégat

Construire une requête qui calcule l'impôt minimum code des tables TAX et FUNCTIONS en fonction de critères spécifiques et regroupe les résultats par Func_ID field :

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

Enregistrez cette requête sous YourQuery.

Étape 2 : Convertir la requête en table

Étant donné que les requêtes UPDATE ne peuvent fonctionner que sur les tables , utilisez une requête Créer une table pour stocker les résultats calculés dans une nouvelle table appelée MinOfTax_Code :

SELECT YourQuery.* 
INTO MinOfTax_Code
FROM YourQuery

Étape 3 : Effectuer une requête UPDATE

Enfin, exécutez une requête UPDATE qui joint la table Functions à la table MinOfTax_Code et met à jour le champ Func_TaxRef :

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

Cette solution de contournement vous permet d'utiliser les résultats d'une requête SELECT pour mettre à jour un champ dans une autre table dans Microsoft Access 2007.

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