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 :

Erreur Conception ou erreur SQL ? (><=Date()?)


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Par défaut Erreur Conception ou erreur SQL ? (><=Date()?)
    Slt à tous,
    Mon problème réside sur soit une mauvaise conception de ma part soit mon incapacité a résoudre une SQL complexe !
    Voila,
    Pour gerer les Absences des Salariés j'ai créé une table ou je note :
    -IdAbsence
    -IdSalarié
    -Trigramme
    -MotifAbsence
    -Etc..
    -DébutAbsence
    -HeureDébut
    -FinAbsence
    -HeureFin

    Afin de ne pas affecter de "taches" aux "Absents" je souhaite "filtrer" ma liste déroulante de trigramme qu'avec ceux qui sont sencés etre présent !
    Ma première SQl donne Copie de la requete en SQL)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Requête1.IdSalarié, Requête1.Trigramme, Requête1.CodeAccès, Requête1.FonctionOccupé, T_Absence.DateDébutAbsence, T_Absence.DateFinAbsence
    FROM Requête1 LEFT JOIN T_Absence ON Requête1.IdSalarié = T_Absence.NumSalarié
    WHERE (((T_Absence.DateDébutAbsence) Is Null Or (T_Absence.DateDébutAbsence)>=Date()) AND ((T_Absence.DateFinAbsence) Is Null Or (T_Absence.DateFinAbsence)>=Date()));
    Déja la ça coince car le "double" critère ne correspond pas a ce que je veux !Car il me faut:
    1/Ceux qui n'ont pas encore "d'enregistrement Absence" (Is Null)
    2/Ceux pour qui la Date() n'est pas entre Date de début Absence et fin Absence !!!!
    3/ dans le même principe je trouverai pour les heures si j'ai la soluce pour les dates !
    J'ai essayé dans tous les sens <Date() >date() <=date() .....
    ça marche pour une date mais pas deux ! enfin pas la requete le résultat que je veux !
    Si quelqu'un peut me donner un coup de main car depuis 5 heures sur la même requete et toujours la même M...
    Merci D'avance

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 14
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WHERE (((T_Absence.DateDébutAbsence) Is Null Or (T_Absence.DateDébutAbsence)<=Date())
      AND ((T_Absence.DateFinAbsence) Is Null Or (T_Absence.DateFinAbsence)>=Date()));
    devrait fonctionner

    @+

  3. #3
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour,

    Je n'ai peut-être pas bien compris, mais j'essaierais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WHERE T_Absence.DateDébutAbsence) Is Null Or T_Absence.DateDébutAbsence>Date() 
      OR T_Absence.DateFinAbsence<=Date()
    Tiens nous au courant...
    pgz

  4. #4
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Que viens faire le trigramme dans la table absence ? Il devrait être dans la table salarié non ?

  5. #5
    Membre éclairé Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Par défaut
    Slt,
    Merci de vos réponses mais avoir bosser sur le sujet, je bute sans arret sur le coté multi critère..
    Car soit c'est ok pour les dates puis FAUX pour les heures etc...
    Enfin pas ce que je veux !
    En fait, j'ai trouvé ma réponse dans mon propre msg (la bille que je fais !)
    Il suffisait que je fasse un champ date/heure Complet !pour le début d'absence et idem pour la fin
    Ensuite,en créant un champ dans la requete sur la date(), la fonction "Entre" me permet de selectionner les trigrammes qui sont absents, ensuite une requete de non concordance pour " enlever" les trigramme de la requete des salariés et HOP le tour est joué ma liste n'affiche que les trigrammes présents et a l'heure précise !!!
    Par contre j'ai fait deux requetes différentes car je n'ai pas réussi a faire tout cela en une seule...Mais ça marche...
    PS:
    Tofalu a dit :
    Que viens faire le trigramme dans la table absence ? Il devrait être dans la table salarié non ?
    C'est qu'il a l'oeil le bougre ! il est dans les deux le trigramme ! Et le pire il a raison ! il a rien a faire ici ! Merci, je vais supprimer ça !
    Pas Bien Sam !!!
    Merci a tous

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

Discussions similaires

  1. erreur dans une requete sql
    Par Skizo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/05/2006, 15h57
  2. [J2EE/JSP] Gestion des erreurs avec une base SQL server 2005
    Par critok dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/04/2006, 16h57
  3. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08
  4. Erreur de paramètre avec SQL sur Delphi
    Par ghan77 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/01/2006, 13h30
  5. erreur à l'écriture avec SQL
    Par Homer dans le forum ASP
    Réponses: 5
    Dernier message: 07/02/2005, 14h03

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