Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD
Autres SGBD Vos questions sur les autres SGBD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2005, 13h09   #1
Invité régulier
 
Inscription : février 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 30
Points : 6
Points : 6
Envoyer un message via MSN à mica94
Par défaut [connx]syntaxe witch, ou case, ou IIF

Bonjour,
j'ai un souci.
Premierement, la base de donnée avec laquelle je travaille est peu commune. C'est Connx(en fait c'est une appli qui transforme des fichier C-ISAM sous Unix en BD).

Je fais des applis sous VB qui se connectent à cette base.
Aucun souci pour des requetes de base, jointures, updates, etc.

Mais je veux faire une requete conditionnelle du type

Select num_facture, nom_client, date_facture
(
Si Type_facture='Facture' then
Prix
Else if [FAC]Type_facture='Avoir' then
Prix * -1
End if)

from FACTURE



Je ne sais pas quoi utiliser entre le CASE, SWITCH, IIF.
Pour tester mes requetes avant de les integrer dans mon code, j'utilise Microsoft Query, et :

La fonction Switch ne me renvoie que le "Else If" !!!
La fonction Case n'est pas reconnue
La fonction IIF je m'en souviens plus !!!

Merci de me donner les syntaxes de ces 3 fonctions svp, et si vous le pouvez, de m'eclairer
mica94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2005, 10h49   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Que supporte votre base comme fonction ?

Normalement les syntaxes sont

Code :
IIF(<<condition>>;<<Résultat si vrai>>;<<Résultat si faux>>)
Code :
1
2
3
4
SELECT CASE <<Expression>>
            WHEN <<Résultat 1 pour Expression>> THEN <<Résultat>>                            
            WHEN <<Résultat 2 pour Expression>> THEN <<Résultat>>
            ELSE <Résultat si pas de concordance> END
ou
Code :
1
2
3
SELECT CASE WHEN <<Condition>> THEN <<Résultat si vrai>>                            
                     WHEN <<Condition>> THEN <<Résultat si vrai>>                          
            ELSE <Résultat si pas de concordance> END
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2005, 12h03   #3
Invité régulier
 
Inscription : février 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 30
Points : 6
Points : 6
Envoyer un message via MSN à mica94
Citation:
Envoyé par fadace
Que supporte votre base comme fonction ?

Normalement les syntaxes sont

Code :
IIF(<<condition>>;<<Résultat si vrai>>;<<Résultat si faux>>)
Code :
1
2
3
4
SELECT CASE <<Expression>>
            WHEN <<Résultat 1 pour Expression>> THEN <<Résultat>>                            
            WHEN <<Résultat 2 pour Expression>> THEN <<Résultat>>
            ELSE <Résultat si pas de concordance> END
ou
Code :
1
2
3
SELECT CASE WHEN <<Condition>> THEN <<Résultat si vrai>>                            
                     WHEN <<Condition>> THEN <<Résultat si vrai>>                          
            ELSE <Résultat si pas de concordance> END
Merci pour votre réponse.
je teste les 3 et vous tiens au courant
mica94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h09.


 
 
 
 
Partenaires

Hébergement Web