Bloc case sous access

mimine -  
blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je souhaiterais connaitre la syntaxe du bloc "CASE" sous access.
Je voudrais faire cette opération à l'intérieur d'un SELECT:

SELECT
CASE Tab.valeur = 'toto' THEN 'titi'
CASE Tab.valeur = 'toto1' THEN 'titi1'
END

le pb c'est que cette syntaxe ne fonctionne pas. pouvez-vous m'aider?
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Frappe Misere Messages postés 2702 Statut Membre 568
     
    Select Case tab.valeur
    Case "toto"
    variable="titi"
    case "toto1"
    variable = "titi1"...
    1
  2. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    la syntaxe est très bien expliquée dans l'aide ACCESS...

    En gros :
    SELECT CASE Tab.valeur
    CASE 'toto'
        ....
    CASE 'toto1'
        ....
    END SELECT
    --

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
    1. mimine
       
      Salut,
      Merci pour votre aide mais ça ne marche toujours pas.

      Bon je précise que je souhaite faire une requète SQL je veux faire un INSERT Dans une table B grace à une table A.
      Avec vos suggestion j'ai fait comme ça

      INSERT INTO A ( Id1, Id2, Libelle )
      SELECT B.Id1, B.Id2,
      CASE B.Lib
      CASE 'toto1'
      A.Libelle = 'titi1'
      CASE 'toto2'
      A.Libelle ='titi2'
      ELSE CASE
      A.Libelle = 'toto'
      END
      FROM A

      Merci pour votre aide
      0
  3. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Tu mélanges du SQL et du code VBA, ça ne marchera jamais.

    Le SQL se bâtit comme une chaine de caractères VBA et ensuite on l'exécute via un ordre VBA type 'docmd.runsql toto'.
    0
    1. mimine
       
      Sous Sybase on peut utiliser les blocs CASE dans les procedures SQL, ce n'est pas le cas sous access?
      0
  4. Frappe Misere Messages postés 2702 Statut Membre 568
     
    access reste une version "light" de sql.
    certaines ne sont pas possibles, ce que tu veux faire par exemple.
    tu vas devoir décomposer.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Ben voui, ACCESS propose le SQL 'standard' (norme ANSI 89 ou ANSI 92 selon la version) et le VBA, mais pas de mixage des deux...

    Ce que propose Sybase n'est pas non plus du SQL standard, mais du SQL procédural, comme l'est PL/SQL pour ORACLE.
    0
  7. mimine
     
    bon en gros il faut que je fasse une fonction (dans un module par exemple) qui utilise le "select case" et que j'appelle dans ma requète SQL?
    Bon j'essaye et je vous tiens au courant. merci pour votre aide ;)
    0
    1. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      On peut aussi faire n requêtes avec chacune un paramétrage différent.
      0