IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

problème iif conversion access - sql server


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Par défaut problème iif conversion access - sql server
    bonjour,
    J'ai un souci pour convertir une requête access sous sql server.
    La requête sous access contient un iif qu'il faut normalement remplacer par un case.
    Voici la requête access :

    SELECT
    Eval_Prestation.idEvalPrest,
    Fournisseur.RaisonSociale,
    Eval_Prestation.NumMarche,
    Eval_Prestation.N_Globale,
    Eval_Prestation.Date_Eval,
    IIF(Eval_Prestation.idEmployes IS NULL, Eval_Prestation.Nom_Eval_Ext, Employes.Nom),
    Fournisseur.idFournisseur

    FROM( (
    (Eval_Prestation LEFT JOIN Employes ON Eval_Prestation.idEmployes =

    Employes.idEmployes)
    INNER JOIN Marches ON Eval_Prestation.NumMarche=Marches.NumContrat)
    INNER JOIN FOURNISSEUR ON Marches.idFournisseur=Fournisseur.idFournisseur)


    et je tente ceci en sql server qui plante :

    SELECT
    Eval_Prestation.idEvalPrest,
    Fournisseur.RaisonSociale,
    Eval_Prestation.NumMarche,
    Eval_Prestation.N_Globale,
    Eval_Prestation.Date_Eval,

    case (Eval_Prestation.idEmployes
    when NULL then Eval_Prestation.Nom_Eval_Ext
    else Employes.Nom),
    Fournisseur.idFournisseur

    FROM( (
    (Eval_Prestation LEFT JOIN Employes ON Eval_Prestation.idEmployes =

    Employes.idEmployes)
    INNER JOIN Marches ON Eval_Prestation.NumMarche=Marches.NumContrat)
    INNER JOIN FOURNISSEUR ON Marches.idFournisseur=Fournisseur.idFournisseur)



    merci d'avance pour l'aide

  2. #2
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case when Eval_Prestation.idEmployes IS NULL then Eval_Prestation.Nom_Eval_Ext else Employes.Nom end

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Par défaut toujours pas...
    ça ne marche toujours pas. Le case en question fonctionne, le problème vient du fait que dans mon select, j'ai besoin d'afficher d'autres champs que celui de mon case :

    ceci fonctionne :

    select
    case
    when Eval_Prestation.idEmployes is null then Eval_Prestation.Nom_Eval_Ext
    else Employes.Nom
    end

    FROM( ( (Eval_Prestation LEFT JOIN Employes ON Eval_Prestation.idEmployes = Employes.idEmployes) ....


    et ceci ne fonctionne pas :

    select
    case
    when Eval_Prestation.idEmployes is null then Eval_Prestation.Nom_Eval_Ext
    else Employes.Nom
    end

    Eval_Prestation.idEvalPrest, -> erreur : syntaxe incorrecte vers '.'.
    Fournisseur.RaisonSociale,
    Eval_Prestation.NumMarche,
    Eval_Prestation.N_Globale,
    Eval_Prestation.Date_Eval,

    FROM( ( (Eval_Prestation LEFT JOIN Employes ON Eval_Prestation.idEmployes = Employes.idEmployes)
    -> erreur : syntaxe incorrecte vers 'Eval_Prestation'.

  4. #4
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    select
    case
    when Eval_Prestation.idEmployes is null then Eval_Prestation.Nom_Eval_Ext
    else Employes.Nom
    end,
    Eval_Prestation.idEvalPrest,
    Fournisseur.RaisonSociale,
    Eval_Prestation.NumMarche,
    Eval_Prestation.N_Globale,
    Eval_Prestation.Date_Eval,
    
    FROM( ( (Eval_Prestation LEFT JOIN Employes ON Eval_Prestation.idEmployes = Employes.idEmployes)

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    manque la virgule après le "end" du case et y'a un virgule en trop avant le from. Faudrait quand même regarder un peu ce que vous faites avant de poster ...

  6. #6
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Citation Envoyé par kagemaru
    manque la virgule après le "end" du case et y'a un virgule en trop avant le from. Faudrait quand même regarder un peu ce que vous faites avant de poster ...
    Exact, je n'avais pas vu celle du from ...

  7. #7
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Par défaut merci
    ça marche, merci bcp!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème table liée ACCESS / SQL Server
    Par G3off dans le forum Access
    Réponses: 8
    Dernier message: 02/03/2010, 10h45
  2. Problème de conversion Access -> SQL Server 2000
    Par NHenry dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/05/2007, 16h13
  3. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  4. Choix technique DB ACCESS / SQL Server et internet
    Par Yoann_D dans le forum Décisions SGBD
    Réponses: 12
    Dernier message: 29/07/2003, 17h12
  5. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo