Bloc case sous access

mimine -  
blux Messages postés 4936 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?

6 réponses

Frappe Misere Messages postés 2702 Statut Membre 568
 
Select Case tab.valeur
Case "toto"
variable="titi"
case "toto1"
variable = "titi1"...
1
blux Messages postés 4936 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
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
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
blux Messages postés 4936 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
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
mimine
 
Sous Sybase on peut utiliser les blocs CASE dans les procedures SQL, ce n'est pas le cas sous access?
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 4936 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
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
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
blux Messages postés 4936 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
On peut aussi faire n requêtes avec chacune un paramétrage différent.
0