9 votes

Microsoft Access - Requête de cas

Je viens d'essayer d'utiliser MS Access 2007 Maintenant, je veux mettre à jour une colonne en fonction de la valeur d'une autre colonne. Dans mon SQL, j'ai réussi à exécuter cette requête.

UPDATE HAI
SET REGION=(
CASE
  WHEN (NUMREG LIKE '%1') THEN 'BDG'
  WHEN (NUMREG LIKE '%2') THEN 'JKT'
  WHEN (NUMREG LIKE '%3') THEN 'KNG'
END);

Cette requête ne s'exécute pas dans MS Access, il y a une erreur Sytax error (missing operator) in query expression . Comment puis-je résoudre ce problème ?

21voto

HansUp Points 53234

Il n'y a pas de CASE ... WHEN dans Access SQL. Vous pouvez utiliser la fonction Fonction du commutateur à la place.

UPDATE HAI
SET REGION = Switch(
    NUMREG Like '*1', 'BDG',
    NUMREG Like '*2', 'JKT',
    NUMREG Like '*3', 'KNG'
    );

Cette requête utilise le caractère par défaut d'Access (mode ANSI 89) * au lieu du caractère générique %. Si vous souhaitez utiliser le caractère générique %, vous pouvez le faire avec l'opérateur de comparaison ALike.

UPDATE HAI
SET REGION = Switch(
    NUMREG ALike '%1', 'BDG',
    NUMREG ALike '%2', 'JKT',
    NUMREG ALike '%3', 'KNG'
    );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X