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

Requêtes et SQL. Discussion :

[SQL] Utilisation de If


Sujet :

Requêtes et SQL.

  1. #1
    Invité
    Invité(e)
    Par défaut [SQL] Utilisation de If
    Bonjour

    J'ai un problème dans une requete dans access.
    Je veux mettre une condition if mais je ne trouve pas la bonne syntaxe
    pouvez vous m'aider et me dire si c'est possible
    je vous laisse mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count([Dossier].[idAffaire]) FROM Dossier WHERE( (if Month([Dossier].[dateARO]))=10 Then (Month([Dossier].[dateARO]))=01)And ((Month([Dossier].[dateMEC])*100))=((tab3mois.moisliste)*100)) And 
    (((Year([Dossier].[dateMEC])*10000))=((tab3mois.anneeliste)*10000)) And 
    ((((Year([Dossier].[dateARO])*10000)+(Month([Dossier].[dateARO])*100)+Day([Dossier].[dateARO]))<((Year([Dossier].[dateMEC])*10000)+(Month([Dossier].[dateMEC])*100)+Day([Dossier].[dateMEC]))))
    merci d'avance pour vos reponses vos reponses
    Dernière modification par Lou Pitchoun ; 26/04/2007 à 11h45. Motif: Starec : Balise Code (Sélection du code + #) + Kikof : SMS/Orthographe

  2. #2
    Membre régulier Avatar de lerico
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    La fonction que tu cherches est iif (Vraifaux).

    A+

  3. #3
    Invité
    Invité(e)
    Par défaut
    quand j'éxécute cette requete ça me met " erreur de syntaxe ( opérateur absent ) dans l'expression ...

  4. #4
    Membre régulier Avatar de lerico
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Il ne faut pas utiliser if then
    iif(Month([Dossier].[dateARO])=10,"résultat si égal 10","résultat si différent de 10")

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    ce serait bien de voir ce que tu as modifié. Car si tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIF Month([Dossier].[dateARO]))=10 Then (Month([Dossier].[dateARO])
    Ca ne marchera pas mieux.
    sur VraiFaux te donnera la syntaxe :
    VraiFaux(Condition;Vrai;Faux)

  6. #6
    Invité
    Invité(e)
    Par défaut
    merci
    Je vais essayer mais j'ai 3 conditions à tester dans cette requete.

    si 10 si 11 si 12 sinon donc je fait un si 10 , mon code pour 10 , si 11 , mon code pourr 11 , si 12 , mon code pour 12 , sinon ??
    c'est ça *?
    Dernière modification par Lou Pitchoun ; 26/04/2007 à 11h46. Motif: SMS interdit !! merci de soigner l'orthographe

  7. #7
    Invité
    Invité(e)
    Par défaut
    j'ai fait ça et ça marche pa :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Count([Dossier].[idAffaire]) FROM Dossier WHERE( (IIf (Month([Dossier].[dateARO]))=10,(Month([Dossier].[dateARO]))=01),IIf (Month([Dossier].[dateARO]))=11,(Month([Dossier].[dateARO]))=02),IIf (Month([Dossier].[dateARO]))=12,(Month([Dossier].[dateARO]))=03),Month([Dossier].[dateARO])=Month([Dossier].[dateARO])+3) And ((Month([Dossier].[dateMEC])*100))=((tab3mois.moisliste)*100)) And 
    (((Year([Dossier].[dateMEC])*10000))=((tab3mois.anneeliste)*10000)) And 
    ((((Year([Dossier].[dateARO])*10000)+(Month([Dossier].[dateARO])*100)+Day([Dossier].[dateARO]))<((Year([Dossier].[dateMEC])*10000)+(Month([Dossier].[dateMEC])*100)+Day([Dossier].[dateMEC]))));

    ça me dit problème de virgule
    Dernière modification par Lou Pitchoun ; 26/04/2007 à 11h47. Motif: Encore un message sans balises et en SMS et on ferme.

  8. #8
    Membre régulier Avatar de lerico
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Il faut que tu imbriques les iif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (iif (Month([Dossier].[dateARO]))=10,10,iif (Month([Dossier].[dateARO]))=11,11,12)))

Discussions similaires

  1. [SQL] Utilisation des opérateurs SQL plutôt que PHP
    Par php_newbie dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/05/2006, 11h38
  2. Requete SQL : Utiliser 'AND' dans un DECODE
    Par LoulouFifi dans le forum Oracle
    Réponses: 2
    Dernier message: 02/12/2005, 09h26
  3. [forms]quel declencheur pl/sql utiliser?
    Par popov2 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 30/08/2005, 11h19
  4. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08
  5. [PL/SQL] Utilisation table PL/SQL dans clause IN
    Par Yorglaa dans le forum PL/SQL
    Réponses: 13
    Dernier message: 05/10/2004, 10h36

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