Utilisation de SELECT dans les requêtes UPDATE : une solution de contournement pour Microsoft Access
Alors que les requêtes UPDATE dans Microsoft Access 2007 offrent un moyen simple de modifier les données des tables , ils n'ont pas la capacité d'incorporer les résultats des requêtes SELECT. Cette limitation peut s'avérer frustrante lorsque l'on tente de mettre à jour des champs à l'aide de critères de sélection complexes.
Considérons le scénario suivant : vous souhaitez mettre à jour le champ "Func_TaxRef" dans la table "FUNCTIONS" en fonction d'une valeur minimale d'un "TAX " tableau. La requête SELECT suivante renvoie la valeur minimale souhaitée :
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;
Cependant, la requête UPDATE suivante ne parvient pas à mettre à jour le champ "Func_TaxRef" avec le résultat de la requête SELECT :
UPDATE FUNCTIONS SET FUNCTIONS.Func_TaxRef = [Result of Select query]
Pour surmonter cette limitation, nous devons utiliser une solution de contournement en créant une table temporaire qui stocke les résultats de la requête SELECT. Ceci est réalisé à travers les étapes suivantes :
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
Bien que cette solution de contournement puisse sembler compliquée, elle vous permet effectivement de mettre à jour les champs en utilisant les résultats d'une requête SELECT. dans Microsoft Access 2007. Cependant, il vaut la peine de prendre en compte les limites d'Access et d'explorer des solutions de bases de données alternatives pour des tâches de manipulation de données plus 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!